首页 文章

MS Access搜索表单查询

提问于
浏览
0

我是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

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

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

相关问题