0
在Access 2010中,我试图为表格上的联系人表创建一个搜索框。我一直在得到一个错误13类型不匹配错误,我怎样才能得出它?
这里是我的代码:
Private Sub Command119_Click()
On Error GoTo Command119_Click_Err
If (Eval("[Forms]![frmTitlePage]![SearchBox] Is Null")) Then
' Clear Filter when search box empty
DoCmd.RunCommand acCmdRemoveFilterSort
End If
' Handle "'s in search
TempVars.Add "strSearch", Replace(Forms!frmTitlePage!SearchBox, """", """""")
' Build the Filter
TempVars.Add "strFilter", "([Last Name] Like "" * " & [TempVars]![strSearch] & " * "")"
TempVars.Add "strFilter", TempVars!strFilter & " OR ([First Name] Like "" * " & [TempVars]![strSearch] & " * "")"
DoCmd.ApplyFilter "", TempVars!strFilter, ""
TempVars.Remove "strFilter"
TempVars.Remove "strSearch"
Command119_Click_Exit:
Exit Sub
Command119_Click_Err:
MsgBox Error$
Resume Command119_Click_Exit
End Sub
我显然太可怕了,在这个编码,因此任何额外的帮助来清理这个搜索工具将高达极大帮助。
你为什么要评估表单控件?我认为你会遇到单引号(D'Arcy)名字的问题。你应该考虑你的表单的过滤器属性,而不是'DoCmd.RunCommand acCmdRemoveFilterSort' ...开始:) – Fionnuala
什么是TempVars,它来自哪里? – Fionnuala
我使用了访问联系人模板中的代码,并试图将其模制到我的搜索框中。我怎么能使用你建议的DoCmd.RunCommandacCmdRemoveFilterSort? – user1496497