0

我试图在 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

但我不断收到“此类对象不支持操作”的错误消息。是什么赋予了?姓氏字段在表格中隔开

4

2 回答 2

2

如果这是引发错误的行...

rst.FindFirst "[Last Name] = " & lastName

[Last Name]可能是文本数据类型,因此在.FindFirst字符串中使用引号。

rst.FindFirst "[Last Name] = '" & lastName & "'"

如果姓氏可能包含撇号,请将它们加倍。

rst.FindFirst "[Last Name] = '" & Replace(lastName, "'", "''") & "'"
于 2013-03-07T23:33:41.190 回答
1

我收到错误的原因是因为我试图对表对象而不是动态集或快照对象使用 Find First 方法。为了解决这个问题,我将 .OpenRecordSet 中的参数替换为一条 SQL 语句,该语句接收我想要搜索的内容。

感谢您的帮助 Hans Up,因为您所说的工作需要进行。

于 2013-03-08T11:31:17.307 回答