我是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控件通信时出现问题。”
非常感谢任何有助于此工作的帮助!
答案 0 :(得分:0)
你需要在所有“和”前面留一个空格:
If Not IsNull(Me.WCLastName) Then
strsql = strsql & " And [WCLastName] Like '*" & Me.WCLastName & "*'"
End If