基于数据表过滤器过滤记录集

Posted

技术标签:

【中文标题】基于数据表过滤器过滤记录集【英文标题】:Filter recordset based on datasheet filter 【发布时间】:2016-04-30 20:12:22 【问题描述】:

如果“FilterOn”属性为真,我想将数据表表单的过滤器应用于记录集,并确保记录顺序也相同。 我之前尝试过,但代码没有运行事件,所以一定有问题。

    Dim rsAll As DAO.Recordset
    Set rsAll = CurrentDb.OpenRecordset("All Patient Info")
    if Forms("All Patient Info").FilterOn then
    rsAll.Filter = Forms("All Patient Info").Filter
    End if

【问题讨论】:

如果您不确定代码是否完全运行,请在Set rsAll 行设置断点,运行代码,查看Access 是否进入中断模式。 【参考方案1】:

在将记录集分配给另一个记录集之前,过滤器没有任何用处:

Dim rsAll As DAO.Recordset
Dim rsFilter As DAO.Recordset
Set rsAll = CurrentDb.OpenRecordset("All Patient Info")
If Forms("All Patient Info").FilterOn Then
    rsAll.Filter = Forms("All Patient Info").Filter
    Set rsFilter = rsAll.OpenRecordset()
End if

然后继续 rsFilter。

【讨论】:

@HansUp:没错,它不见了。我已经进行了更正。谢谢。

以上是关于基于数据表过滤器过滤记录集的主要内容,如果未能解决你的问题,请参考以下文章