【发布时间】:2016-11-09 21:01:21
【问题描述】:
使用这个 VBA 代码我得到一个错误:
参数太少。预计 1。
我不知道如何正确输入。
Dim rs_invoice As DAO.Recordset
Set rs_invoice = CurrentDb.OpenRecordset("SELECT * FROM order_tbl WHERE invoice_no Is Null AND company_name='" _
& Me.cmb_start_company.Column(1) & "' AND shiped=" & "True")
If Not (rs_invoice.EOF And rs_invoice.BOF) Then
rs_invoice.MoveFirst
Do Until rs_invoice.EOF = True
rs_invoice.Edit
rs_invoice!invoice_no = invoice_number
rs_invoice.Update
rs_invoice.MoveNext
Loop
Else
'No records
End If
'Finish
rs_invoice.Close 'Close the recordset
Set rs_invoice = Nothing 'Clean up
【问题讨论】:
-
难道你不能用一个 SQL 命令按照
UPDATE order_tbl SET invoice_no = " & invoice_number & " WHERE invoice_no Is Null AND company_name='" & Me.cmb_start_company.Column(1) & "' AND shiped=True的行做同样的事情吗?虽然我提倡使用 SQL 参数而不是字符串连接。 -
谢谢,但我真的不知道如何使用此代码,您可以发布示例吗?谢谢
-
我不熟悉VBA,但看起来What is the VBA equivalent for using Command.Prepare in ADO.NET可以帮助你。
-
我遇到了同样的错误:/
标签: database vba ms-access where