我想使用3个文本框和3个组合框来搜索数据列表。我创建了一个命令按钮来触发事件。它工作,应用过滤器,但只有约30分钟。之后,数据显示未经过滤。我没有收到任何错误,只是停止使用过滤器。
Private Sub Command370_Click()
DoCmd.ApplyFilter "", "[Ervaring 1].Value Like ""*"" & [Forms]![Werknemers lijst]![cboervaring].value & ""*"" And [Opleiding1].Value Like ""*"" & [Forms]![Werknemers lijst]![combo619].Value & ""*"" And [Taal 1].Value Like ""*"" & [Forms]![Werknemerslijst]![combo621].Value & ""*""", ""
DoCmd.ApplyFilter "", "[Voornaam] Like ""*"" & [Forms]![Werknemers lijst]![tref1] & ""*"" Or [Achternaam] Like ""*"" & [Forms]![Werknemers lijst]![tref1] & ""*"" Or [Geslacht] Like ""*"" & [Forms]![Werknemers lijst]![tref1] & ""*""", ""
DoCmd.ApplyFilter "", "[Cedula] Like ""*"" & [Forms]![Werknemers lijst]![tref1] & ""*"" Or [Nationaliteit] Like ""*"" & [Forms]![Werknemers lijst]![tref1] & ""*""", ""
DoCmd.ApplyFilter "", "[Voornaam] Like ""*"" & [Forms]![Werknemers lijst]![tref2] & ""*"" Or [Achternaam] Like ""*"" & [Forms]![Werknemers lijst]![tref2] & ""*"" Or [Geslacht] Like ""*"" & [Forms]![Werknemers lijst]![tref2] & ""*""", ""
DoCmd.ApplyFilter "", "[Cedula] Like ""*"" & [Forms]![Werknemers lijst]![tref2] & ""*"" Or [Nationaliteit] Like ""*"" & [Forms]![Werknemers lijst]![tref2] & ""*""", ""
DoCmd.ApplyFilter "", "[Voornaam] Like ""*"" & [Forms]![Werknemers lijst]![tref3] & ""*"" Or [Achternaam] Like ""*"" & [Forms]![Werknemers lijst]![tref3] & ""*"" Or [Geslacht] Like ""*"" & [Forms]![Werknemers lijst]![tref3] & ""*""", ""
DoCmd.ApplyFilter "", "[Cedula] Like ""*"" & [Forms]![Werknemers lijst]![tref3] & ""*"" Or [Nationaliteit] Like ""*"" & [Forms]![Werknemers lijst]![tref3] & ""*""", ""
End Sub
答案 0 :(得分:1)
这是一个简单的解决方案(而不是使用ApplyFilter方法)......
创建一个以您希望的方式过滤数据的查询。
制作使用过滤后的查询而非表格的表单副本。
在主窗体上,有一个命令按钮,用于运行代码以关闭窗体并打开窗体的过滤版本。
在已过滤的表单上,有一个命令按钮可以关闭该表单并打开mani表单。