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]"
答
没有 '&' 尝试 '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]"
此代码摆脱了错误信息。为了确保,我为绑定列填入零。非常感谢,利亚姆! – sdd