【问题标题】:Search list to a filtered form ms-access搜索列表到过滤形式 ms-access
【发布时间】:2021-03-07 03:02:15
【问题描述】:

所以我设置了一个表单,可以使用找到的动态多搜索工具 here 搜索多个字段。目前,它使用带有 onDoubleClick 事件的列表框,通过以下方式以另一种形式打开搜索列表中的单个记录

Private Sub SearchResults_DblClick(Cancel As Integer)

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "frm_MainEntryForm"

    stLinkCriteria = "[ID_UniqueID]=" & Me![SearchResults]
    DoCmd.OpenForm stDocName, , , stLinkCriteria

End Sub

理想情况下,我可以选择打开所有找到的记录。我想这可以通过某种方式过滤表单的 ID_UniqueID 列与搜索结果框的 ID_UniqueID 列中的所有值匹配的表单来实现。

这甚至可能吗?我不确定如何设置或从哪里开始?有人可以帮忙吗?

【问题讨论】:

    标签: ms-access filtering


    【解决方案1】:

    可以使用 UNION 查询在列表框 RowSource 中构建“ALL”选项。

    由于搜索条件中没有内置撇号分隔符,我认为 ID_uniqueID 是用户看不到的数字字段,而是看到描述性别名:

    SELECT 0, "ALL" AS Data FROM tablename
    UNION SELECT ID_UniqueID, fieldname FROM tablename;
    

    然后代码测试是否选择了0:

    If Me.SearchResults <> 0 Then
        stLinkCriteria = "[ID_UniqueID]=" & Me![SearchResults]
    End If
    

    有关建立搜索条件的另一种方法,请查看http://allenbrowne.com/ser-62.html

    【讨论】:

      猜你喜欢
      • 2015-05-27
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多