UPDATE skorelowany

0

Pojawił się problem,

Mam tabelę z fakturami pobraną z osobnych baz danych. Do tego potrzebuję dołożyć jeszcze jedną kolumnę z faktycznymi płatnościami z kolejnej bazy danych:

TABELA FAKTURY
Nr Klient Kwota Zapłacona
01/2018 A 100 ?
02/2018 B 150 ?
03/2018 C 120 ?

TABELA PŁATNOŚCI
Nr Do zapłaty
02/2018 150
03/2018 100

Próbowałam to zrobić zwykłym UPDATEM, jednak nie zadziałało, nie wiem gdzie mam błąd.
Chciałabym uniknąć robienia tego podczas INSERTA.

UPDATE Faktury
SET t.Zaplacona=p.[Do zaplaty]
FROM Faktury t
JOIN Platnosci p
ON t.Nr=p.Nr

Ale oczywiście p.[Do zaplaty] nie jest poprawnym wyrażeniem w updacie i nie wiem jak to obejść. (Access)

0

W access to o ile dobrze pamiętam powinno być tak:

UPDATE
    Faktury t
    inner JOIN Platnosci p ON t.Nr=p.Nr
SET 
    t.Zaplacona=p.[Do zaplaty]
0

Nie wyrzuca błędu, ale też nic nie wpisuje. Wiadomo, że INNER JOIN jeżeli nie ma odpowiednika, to zostawia pole puste.

0

a samo zapytanie:

select * from
Faktury t
    INNER JOIN Platnosci p ON t.Nr=p.Nr

coś zwraca?

0

Wyrzuca mi błąd i nie pokazuje nic

0

Fajnie, a jaki błąd?

0

Że nie obsługuje wyrażenia JOIN :-/

0

a dokładniej?

0

dokładnie "Wyrażenie JOIN nie jest obsługiwane"

0

Piszesz o update czy select?

0

SELECT

0

Wklej dokładnie zapytanie które wykonujesz

0

Znalazłam literówkę. Pokazuje obie tabele złączone.

0

No to w widoku projektu tej kwerendy na wstążce projektowanie wybierz "aktualizuj" w grupie Typ kwerendy i ustaw odpowiednie pole.tabela i aktualizacja do

0

Wywala błędy ponieważ nie można w jednym zapytaniu aktualizować kilku tabel. Po prostu nie da się robić UPDATE, INSERT ani DELETE na kilku tabelach na raz. Spróbuj podzielić to zapytanie aby UPDATE był tylko na jednej tabeli bez JOIN'a

0

Update aktualizuje jedną tabelę na podstawie drugiej, a nie kilka tabel...

0

Na razie po prostu poradziłam sobie SELECTem i LEFT JOINem. Nie jest to może najlepsze rozwiązanie, ale musiałam do końca dnia skończyć. W przyszłym tygodniu będę miała więcej czasu, to powalczę dalej, żeby zrobić to tak jak należy.

Dzięki za pomoc

0
Panczo napisał(a):

W access to o ile dobrze pamiętam powinno być tak:

UPDATE
    Faktury t
    inner JOIN Platnosci p ON t.Nr=p.Nr
SET 
    t.Zaplacona=p.[Do zaplaty]

Dzięki Wielkie!!! Wszystko działa. Dzisiaj na spokojnie jeszcze raz się zabrałam i wyszło z INNER JOINem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1