Access SQL - 如何根据表单中文本框中的内容过滤表格?

时间:2017-09-10 19:25:05

标签: sql ms-access

我最近盯着使用Microsoft Access,现在我尝试在表单中显示查询,具体取决于文本框中的内容,然后通过双击已过滤的行或单元格打开该查询。

例如,我有一个带有客户列表的指定客户的表,我正试图通过在文本框中写“Jhon”然后通过双击那个(例如)Jhon的名称找到客户单元格或行仅打开该行(使用查询)。

表名是“Customers”,表单名称是“Form2”,Subform(我正在尝试排序/过滤)名称是“Custormers subform1”,未绑定文本框的名称是“Search”。

以下是我的表单:http://imgur.com/a/DpQ7p

感谢您的帮助。

1 个答案:

答案 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*'