Update funktioniert nicht

Hallo,

ich benutze die Jet Engine 4.0 (fast SQL-92) und will folgendes Update ausführen:

Update Tab1 SET Prim_Key=P.Mx FROM (SELECT Max(Prim_Key) as Mx, WertID AS ID FROM Tab2 AS P GROUP BY ID) WHERE Tab1.Id=P.ID;

Da wird mir nur zurückgemeldet, das Update sei nicht ausführbar. Kann mir jemand sagen wo mein Fehler liegt?

Danke

Gruß Hob

WinXP, Access 2000

Hallo,

Da wird mir nur zurückgemeldet, das Update sei nicht
ausführbar. Kann mir jemand sagen wo mein Fehler liegt?

mangels Informationen deiner Tabellenstruktur etc. kann ich nur raten:
Der Primär-Key ist schreibgeschützt? oder schon vorhanden?

WinXP, Access 2000

btw das Brett für Access ist nur eine Etage höher!!

Grüße aus Rostock
Wolfgang
(Netwolf)

L
Servus,

du holst zwei Werte aus deinem Sub-Query und willst damit einen Wert aktualisieren ?

Was du machen mussts ist ein sog. „korreliertes Sub-Query“, versuch mal so (ohne jetzt die genaue Syntax deines SQL Tools zu kennen):

UPDATE tab1 AS target
SET target.Prim_Key = (SELECT max(Prim_Key)
FROM tab2
WHERE tab2.id = target.id)

Lass hören wie es geklappt hat, ja ?

Viel Erfolg,
SomeOne

erledigt
Hi Wolfgang,

ich war mir nicht sicher, ob der Beitrag besser unter SQL oder unter Access aufgehoben ist.

Wie auch immer, das Problem hat sich erledigt.
Dankeschön für deine Mühen!

VG

Hob