2017-05-09 4 views
0

Ich habe die folgende SQl-Abfrage in VBA und es gibt mir einen Syntaxfehler, wenn ich das Formular ausführen. Ich habe versucht, die Abfrage erneut zu schreiben, aber ich endete mit dem gleichen Fehler. Jede Hilfe wäre appreciated.Thank Sie:Syntaxfehler in SQL-Abfrage-Ms-Zugriff

Set RS = CurrentDb.OpenRecordset("SELECT & _ 
      Purchases.SupplierLocation & _ 
     , Purchases.MinWeight & _ 
     , Purchases.MaxWeight & _ 
     , Purchases.PortofDischarge & _ 
     , Purchases.PlaceofDelivery & _ 
     , Purchases.PriceTermsLocation " & _ 

     "FROM (& _ 
      Vendors & _ 
      RIGHT JOIN Purchases & _ 
      ON Vendors.VendorID=Purchases.VendorID & _ 
     ) & _ 
      INNER JOIN & _ 
       (SELECT Max(PODate) as MaxPODate & _ 
       FROM Purchases & _ 
       WHERE Purchases.VendorID = '" & Nz(Me.VendorID, "") & "' & _ 
       AND Purchases.Grade = '" & Nz(Me.Grade, "") & "' & _ 
       AND Purchases.PurchaseID <> " & Nz(Me.PurchaseID, 0) & " & _ 
      ) RecentPurchase & _ 
      ON Purchases.PODate = RecentPurchase.MaxPODate " & _ 
     "WHERE Purchases.VendorID = '" & Nz(Me.VendorID, "") & "' & _ 
      AND Purchases.Grade = '" & Nz(Me.Grade, "") & "' & _ 
      AND Purchases.PurchaseID <> '" & Nz(Me.PurchaseID, 0)"' & _ 
     "ORDER BY Min(IIf(Vendors.VendorID=Purchases.VendorID,1,2))") 
+0

Ich hoffe, das ist nicht zu unhöflich, aber Sie könnten wahrscheinlich leicht Ihren Code beheben, wenn er gut formatiert war ... zumindest konnte es nicht schaden. –

Antwort

0

Sie verpassten eine Menge von Anführungszeichen:

1

Wie @JacobH angegeben, klarer sein könnte, aber es könnte sein, dass kurz vor dem Auftrag von:

"' & _ "ORDER BY 

sollte

"'" & _ "ORDER BY 
+0

Gute Spotting, du hast bessere Augen als ich! –

+0

Ich habe es versucht. Es gibt mir immer noch den gleichen Syntaxfehler. –

+0

Haben Sie versucht, es direkt in Access auszuführen? – Simon