我有以下VBA代码来填充Access 2010中未绑定表单中的未绑定字段:
Private Sub Combo0_AfterUpdate()
Dim D As Database
Dim rsExp As Recordset
Dim Criteria As String
Set D = CurrentDb
Set rsExp = D.OpenRecordset("ExpAsset", DB_OPEN_DYNASET)
Criteria = "[serial_number]=" & [Combo0]
rsExp.FindFirst Criteria
Me!Name = rsExp("User")
Me!Type = rsExp("Type")
Me!MODEL = rsExp("Model")
Me!Notes = rsExp("Notes")
Me!Department = rsExp("Department")
Me!Status = rsExp("Status")
rsExp.Close
End Sub
我在这一行收到错误rsExp.FindFirst Criteria运行时错误3077表达式中的语法错误(缺少运算符)。
我已将代码更改为Criteria =“[serial_number] =”& Str([Combo0])但后来我得到运行时错误13类型不匹配。
答案 0 :(得分:1)
让自己有机会检查您要求.FindFirst
使用的标准。它可能不是你所期望的。
Dim strCriteria As String
'strCriteria = "[serial_number]=" & Me.Combo0
' since serial_number is text, enclose the Combo0 value in quotes
' when you build strCriteria
strCriteria = "[serial_number]='" & Me.Combo0 & "'"
Debug.Print strCriteria
' or MsgBox strCriteria if you prefer
您可以在立即窗口中看到Debug.Print
的输出。用 Ctrl + g
如果[serial_number]
是文字数据类型,并且Debug.Print
为您提供了其中任何一种,那么您就会遇到问题。
[serial_number]=A0123
[serial_number]=
如果这不能引导您解决问题,请在遇到错误时告诉我们[serial_number]
的数据类型和Me.Combo0
的值。