SQL语句中的语法错误:vba access

问题描述:

如果没有syntax error错误,此代码将不会执行。我究竟做错了什么?SQL语句中的语法错误:vba access

Private Sub cboInvFindVendorName_AfterUpdate() 

Me.cboInvFindDate.RowSource = "SELECT [InvoiceDate] FROM tblInvoices " & _ 
WHERE [vendorID] = " & Nz(me.cboInvFindVendorname) ORDER by [InvoiceDate]" 

End Sub 

我认为以前的答案都围绕nz()函数不正确报价。同样,它的名称显示该字段是组合框,并且可能更适合引用它的确切列,因为这通常是密钥的绑定列,所以我使用零列。我不认为提及专栏是一个要求,但我认为只是确保。

Me.cboInvFindDate.RowSource = "SELECT [InvoiceDate] FROM tblInvoices " & _ 
    "WHERE [vendorID] = " & Nz(Me.cboInvFindVendorname.column(0), 0) & " ORDER BY [InvoiceDate]" 
+0

此代码摆脱了错误信息。为了确保,我为绑定列填入零。非常感谢,利亚姆! – sdd

没有 '&' 尝试 'FROM tblInvoices',像这样经过:

Private Sub cboInvFindVendorName_AfterUpdate() 

Me.cboInvFindDate.RowSource = "SELECT [InvoiceDate] FROM tblInvoices 
WHERE [vendorID] = " & Nz(me.cboInvFindVendorname) ORDER by [InvoiceDate]" 

End Sub 

这里的VBA访问SQL语法的一个例子,我发现:

SELECT tblStaff.[Firstname], tblStaff.[Lastname] FROM tblStaff WHERE tblStaff.[Office]="Paris”; 

决赛代码

Private Sub cboInvFindVendorName_AfterUpdate() 

Me.cboInvFindDate.RowSource = "SELECT tblInvoices.[InvoiceDate] FROM tblInvoices 
WHERE tblInvoices.[vendorID] = " & Nz(me.cboInvFindVendorname) ORDER by [InvoiceDate]" 

末次

希望这有助于

苏海尔

你错过了报价和零:

Me.cboInvFindDate.RowSource = "SELECT [InvoiceDate] FROM tblInvoices " & _ 
"WHERE [vendorID] = " & Nz(Me.cboInvFindVendorname, 0) & " ORDER BY [InvoiceDate]"