繁体   English   中英

SQL Query-Ms访问中的语法错误

[英]Syntax Error in SQL Query-Ms Access

我在VBA中有以下SQl查询,当我运行表单时它给了我一个语法错误。 我尝试再次编写查询,但最终遇到了相同的错误。 任何帮助将不胜感激。谢谢:

 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))")

正如@JacobH所说,它可能更清楚,但可能是在下订单之前:

"' & _ "ORDER BY 

应该

"'" & _ "ORDER BY

您错过了很多双引号:

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))")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM