在访问表单中筛选 VBA
Filtering VBA in Access Form
我有一个名为 Review List 的表单,其中显示了所有请求,但我只想显示某些需要审核的记录。我希望在加载表单时,只有那些 [RequestStatus] 为 "Submitted" 或 "Re-Submitted" 的记录才会显示在列表中。我可以获得 VBA 代码以根据其中一个值进行过滤,但我不知道如何让它过滤两个值。
我知道这可能很简单,但我找不到答案,我很困惑。
不确定 VBA 是否需要代码。您可以使用查询作为表单的记录源,并根据您的条件包含 WHERE
子句来限制显示的行:
WHERE [RequestStatus] IN ('Submitted', 'Re-Submitted')
但是如果您想使用 VBA 来应用过滤器...
Dim strFilter As String
strFilter = "[RequestStatus] IN ('Submitted', 'Re-Submitted')"
Debug.Print strFilter '<- examine this in Immediate window; Ctrl+g will take you there
Me.Filter = strFilter
Me.FilterOn = True
还有另一种方法(也许更简单)。您不需要任何 vba,甚至不需要修改您的记录源。只需确保在表单的记录源中包含 [RequestStatus] 字段,然后在表单过滤器中添加以下内容
状态= 'Submitted' 或状态='Re-Submitted'
我有一个名为 Review List 的表单,其中显示了所有请求,但我只想显示某些需要审核的记录。我希望在加载表单时,只有那些 [RequestStatus] 为 "Submitted" 或 "Re-Submitted" 的记录才会显示在列表中。我可以获得 VBA 代码以根据其中一个值进行过滤,但我不知道如何让它过滤两个值。
我知道这可能很简单,但我找不到答案,我很困惑。
不确定 VBA 是否需要代码。您可以使用查询作为表单的记录源,并根据您的条件包含 WHERE
子句来限制显示的行:
WHERE [RequestStatus] IN ('Submitted', 'Re-Submitted')
但是如果您想使用 VBA 来应用过滤器...
Dim strFilter As String
strFilter = "[RequestStatus] IN ('Submitted', 'Re-Submitted')"
Debug.Print strFilter '<- examine this in Immediate window; Ctrl+g will take you there
Me.Filter = strFilter
Me.FilterOn = True
还有另一种方法(也许更简单)。您不需要任何 vba,甚至不需要修改您的记录源。只需确保在表单的记录源中包含 [RequestStatus] 字段,然后在表单过滤器中添加以下内容
状态= 'Submitted' 或状态='Re-Submitted'