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 に答える