複数の基準に基づいて結果を返すことができるフォームを作成しようとしています。
FirstName
フィールド、LastName
フィールド、フィールドがありますState
。
また、ユーザーが基準を入力できるsearchFirst
、という名前のテキスト ボックスもあります。searchLast
searchState
検索ボタンをクリックすると、次のコードが実行されます。
Private Sub mySearchQuery_Click()
Dim filter As String
Dim rtFirstName As String
Dim rtLastName As String
Dim rtState As String
rtFirstName = Me.searchFirst.Value
rtLastName = Me.searchLast.Value
rtState = Me.searchState.Value
If Not IsNull(rtFirstName) Then
If Not IsNull(filter) Then filter = filter & " AND "
filter = filter & "(FirstName like""*" & rtFirstName & "*"")"
End If
If Not IsNull(rtLastName) Then
If Not IsNull(filter) Then filter = filter & " AND "
filter = filter & "(LastName like""*" & rtLastName & "*"")"
End If
If Not IsNull(rtState) Then
If Not IsNull(filter) Then filter = filter & " AND "
filter = filter & "(State LIKE""*" & rtState & "*"")"
End If
' Now re-construct the SQL query '
Dim sql As String
sql = "SELECT * FROM MainData"
If Not IsNull(filter) Then
sql = sql & " WHERE " & filter
End If
Me.RecordSource = sql
'SubForm.Form.RecordSource = sql
End Sub
以下のエラーが表示されます。
実行時エラー '3075': クエリ式 'AND (FirstName like"*tracy*") AND (lastName like"*Smith*") AND (State LIKE"*ga*")' に構文エラー (演算子がありません)。
AND
検索クエリの先頭に が含まれている理由がわかりません。