我最近盯着使用Microsoft Access,现在我尝试在表单中显示查询,具体取决于文本框中的内容,然后通过双击已过滤的行或单元格打开该查询。
例如,我有一个带有客户列表的指定客户的表,我正试图通过在文本框中写“Jhon”然后通过双击那个(例如)Jhon的名称找到客户单元格或行仅打开该行(使用查询)。
表名是“Customers”,表单名称是“Form2”,Subform(我正在尝试排序/过滤)名称是“Custormers subform1”,未绑定文本框的名称是“Search”。
以下是我的表单:http://imgur.com/a/DpQ7p。
感谢您的帮助。
答案 0 :(得分:0)
您可以在文本框的AfterUpdate事件处理程序中触发搜索并设置子表单的filter属性
Private Sub Search_AfterUpdate()
Dim s as string
s = "'" & Replace(Me!Search.Text, "'", "''") & "'"
Me![Custormers subform1].Form.Filter = "FirstName=" & s & " OR " LastName=" & s
End Sub
确保双重叛逆者逃脱。您还可以使用
在名称的开头进行搜索 s = " LIKE '" & Replace(Me!Search.Text, "'", "''") & "*'"
Me![Custormers subform1].Form.Filter = "FirstName" & s & " OR " LastName" & s
然后生成的过滤器看起来像(假设用户键入" Jh")
FirstName LIKE 'Jh*' OR LastName LIKE 'Jh*'