Update query - Aktualisierungsabfrage
Hallo
Habe zwei Tabellen, die eine Tabelle "x" ist eine reine Eingabetabelle mit unzähligen Feldern (darunter das Feld "Lieferant")
Die zweite Tabelle "y" hingegen beinhaltet nur zwei Felder, "Lieferant" und "Lieferant Info"
Deshalb habe ich eine Aktualisierungsabfrage gemacht, funktioniert auch soweit
Wenn ich jetzt allerdings einen neuen Datensatz mit einem neuen Lieferanten und dem Info dazu in der Tabelle "y" anlege , zeigt er mir die Info zum dazugehörigen Lieferanten in der Tabelle "x" nicht mehr an.
Bitte um Hilfe
Thx
Lg
badni
Habe zwei Tabellen, die eine Tabelle "x" ist eine reine Eingabetabelle mit unzähligen Feldern (darunter das Feld "Lieferant")
Die zweite Tabelle "y" hingegen beinhaltet nur zwei Felder, "Lieferant" und "Lieferant Info"
Deshalb habe ich eine Aktualisierungsabfrage gemacht, funktioniert auch soweit
Wenn ich jetzt allerdings einen neuen Datensatz mit einem neuen Lieferanten und dem Info dazu in der Tabelle "y" anlege , zeigt er mir die Info zum dazugehörigen Lieferanten in der Tabelle "x" nicht mehr an.
Bitte um Hilfe
Thx
Lg
badni
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 245953
Url: https://administrator.de/contentid/245953
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
6 Kommentare
Neuester Kommentar
Also wenn ich das jetzt spontan richtig lese, ist das auch vollkommen logisch.
deine where Bedingung sagt ja auch, x.Lieferant = y.Lieferant
du müsstest diese mit einer select und insert query koppeln.
Also kurz:
wenn x.lieferant in y.lieferant, dann update ...
else insert x.lieferant into y.lieferant
Gruß
drobskind
deine where Bedingung sagt ja auch, x.Lieferant = y.Lieferant
du müsstest diese mit einer select und insert query koppeln.
Also kurz:
wenn x.lieferant in y.lieferant, dann update ...
else insert x.lieferant into y.lieferant
Gruß
drobskind
Beispiel: (TSQL sicher so nicht ausführbar)
if exist (select * from Infolieferant
where Infolieferant.Info = Eingabe.Info)
begin
UPDATE Eingabe, Infolieferant SET Eingabe.Info = [Infolieferant]![Info]
WHERE ((([Eingabe]![Lieferant])=[Infolieferant]![Lieferant]));
end
else
begin
insert into infolieferant.info values (eingabe.info,"HUGO","usw")
end
if exist (select * from Infolieferant
where Infolieferant.Info = Eingabe.Info)
begin
UPDATE Eingabe, Infolieferant SET Eingabe.Info = [Infolieferant]![Info]
WHERE ((([Eingabe]![Lieferant])=[Infolieferant]![Lieferant]));
end
else
begin
insert into infolieferant.info values (eingabe.info,"HUGO","usw")
end
Siehe mein Beispiel oben...
leider bin ich mit Access nicht so bewandert wie mit TSQL und Microsoft SQL Server.
Aber es müsste ja im Access auch eine Möglichkeit geben, den SQL Befehl von hand einzugeben, statt ihn zusammenzuklicken.
Somit ist sicher auch eine IF-Then-Else funktion wie in meinem Beispiel möglich.
leider bin ich mit Access nicht so bewandert wie mit TSQL und Microsoft SQL Server.
Aber es müsste ja im Access auch eine Möglichkeit geben, den SQL Befehl von hand einzugeben, statt ihn zusammenzuklicken.
Somit ist sicher auch eine IF-Then-Else funktion wie in meinem Beispiel möglich.