【发布时间】:2016-02-16 17:28:19
【问题描述】:
我正在尝试创建一个允许您根据多个条件返回结果的表单。
我有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 会出现在搜索查询的开头?
【问题讨论】: