MS Access搜索表单查询

时间:2017-06-26 23:31:11

标签: database ms-access ms-access-2016

我是Access的新手,需要Access 2016中的多文本框搜索表单的帮助。我的表单有6个字段,用户可以在其中输入数据以获取子表单中的搜索结果。用户需要选择在一个或多个字段中输入搜索参数才能获得结果。我们在Access 2003数据库中有一个类似的形式,人们喜欢它。我曾尝试从Access 2003数据库中复制和更新代码,但我似乎无法在2016数据库中使用它。我花了几周的时间寻找答案,但我完全失去了。

以下代码是我从Access 2003数据库复制并为当前数据库更新的代码:

Private Sub cmdWCSearch_Click()
Dim strsql As String

strsql = "SELECT * FROM qryWCSearch WHERE ID > 0"

If Not IsNull(Me.WCLastName) Then
strsql = strsql & "And [WCLastName] Like '*" & Me.WCLastName & "*'"
End If

If Not IsNull(Me.WCDOI) Then
strsql = strsql & "And [WCDOI] Like '*" & Me.WCDOI & "*'"
End If

If Not IsNull(Me.WCWorkStatus) Then
strsql = strsql & "And [WCWorkStatus] Like '*" & Me.WCWorkStatus & "*'"
End If

If Not IsNull(Me.WCClaimNumber) Then
strsql = strsql & "And [WCClaimNumber] Like '*" & Me.WCClaimNumber & "*'"
End If

If Not IsNull(Me.WCBodyPart) Then
strsql = strsql & "And [WCBodyPart] Like '*" & Me.WCBodyPart & "*'"
End If

If Not IsNull(Me.WCClaimStatus) Then
strsql = strsql & "And [WCClaimStatus] Like '*" & Me.WCClaimStatus & "*'"
End If

End Sub

在查询中,我根据条件Like "*" & [Forms]![WelcomePage]![WCLastName] & "*" Or ([Forms]![WelcomePage]![WCLastName] Is Null)

每当我运行搜索时,我都会收到一条错误消息,指出“作为事件属性设置输入的表达式On Click会产生以下错误:Microsoft Access与OLE服务器或ActiveX控件通信时出现问题。”

非常感谢任何有助于此工作的帮助!

1 个答案:

答案 0 :(得分:0)

你需要在所有“和”前面留一个空格:

If Not IsNull(Me.WCLastName) Then
    strsql = strsql & " And [WCLastName] Like '*" & Me.WCLastName & "*'"
End If