我试图在VB中创建一个简单的搜索功能。它的构造如下:
Dim rst As recordSet
Dim lastName As String
Dim firstName As String
Dim eventTitle As String
'Current Record set
Set rst = CurrentDb.OpenRecordset("tblWebMeetingData")
If (IsNull(Me.txtFldLastName) = False) Then
lastName = Me.txtFldLastName
rst.FindFirst "[Last Name] = " & lastName
MsgBox ("Found record")
Else
MsgBox ("Record not found")
End If
If (IsNull(Me.txtFldFirstName) = False) Then
firstName = Me.txtFldFirstName
End If
If (IsNull(Me.txtFldEventTitle) = False) Then
eventTitle = Me.txtFldEventTitle
End If
但是我不断收到“此类对象不支持操作”的错误。是什么赋予了? “姓氏”字段在表格
中间隔开答案 0 :(得分:2)
如果这是引发错误的行......
rst.FindFirst "[Last Name] = " & lastName
[Last Name]
可能是文本数据类型,因此请在.FindFirst
字符串中使用引号。
rst.FindFirst "[Last Name] = '" & lastName & "'"
如果姓氏可能包含撇号,请加倍。
rst.FindFirst "[Last Name] = '" & Replace(lastName, "'", "''") & "'"
答案 1 :(得分:1)
我收到错误的原因是因为我试图对表对象而不是动态集或快照对象使用Find First方法。为了解决这个问题,我用.OpenRecordSet中的参数替换了一个SQL语句,该语句接收了我想要搜索的内容。
感谢您的帮助Hans Up,因为您所说的是为了工作所需要的。