2017-08-25 2 views
-3

Ich habe eine Tabelle mit dem Namen Inventar. Ich habe eine zweite Tabelle namens Sales. Wenn ein Verkauf getätigt wird, möchte ich den Status des Artikels in der Inventarposition in "Verkauft" ändern. Diese SQL-Abfrage nicht funktioniert und wird auf eine Schaltfläche auf einer Verkaufsform gebunden:Einfache SQL UPDATE funktioniert nicht MS Access 2016

UPDATE Inventory 
INNER JOIN Sales ON Inventory.[Vehicle ID] = Sales.[VehicleID] 
SET Inventory.[Vehicle Status] = "SOLD" 
WHERE Inventory.[Vehicle ID] = Sales.[VehicleID] 
+0

Sie kann Inner Join nicht als Ziel in einer Update-Anweisung verwenden – kurdy

+4

es ist immer besser, die volle Fehlermeldung zu integrieren, anstatt ein stumpfes "funktioniert nicht" –

+0

Was ist, wenn Sie Ihr Auto in die Garage gebracht und sagte ihnen "Mein Auto funktioniert nicht . " ? – nicomp

Antwort

0

richtige Format für MS ACCESS ist

UPDATE Inventory 
INNER JOIN Sales ON Inventory.[Vehicle ID] = Sales.[VehicleID] 
SET Inventory.[Vehicle Status] = "SOLD"; 

Die richtige SQL-Format ist:

UPDATE Inventory 
SET [Vehicle Status] = "SOLD" 
FROM Inventory 
INNER JOIN Sales ON Inventory.[Vehicle ID] = Sales.[VehicleID] 

Wenn diese sql-Anweisung nicht funktioniert, dann ist es möglich, dass vehicle Id nicht identisch sind oder in einer Tabelle fehlen