Ms access 使用acCmdFilterMenu筛选时获取子窗体的记录计数
每次以某种方式筛选子窗体时,我都希望得到它的记录计数。包含记录计数值的文本框将保留在主窗体上 我熟悉的记录计数方法是:Ms access 使用acCmdFilterMenu筛选时获取子窗体的记录计数,ms-access,Ms Access,每次以某种方式筛选子窗体时,我都希望得到它的记录计数。包含记录计数值的文本框将保留在主窗体上 我熟悉的记录计数方法是: Trim([FORM/SUBFORM ADDRESS].RecordsetClone.RecordCount) 当子窗体通过VBA记录源SQL的更改进行过滤时,这种方法可以很好地工作 最近,尽管我添加了用户也可以使用运行acCmdFilterMenu的命令按钮对子表单列进行过滤的功能,即以下类型的菜单: 我将record count方法放在一个模块中,以便在窗体和子窗体事件之
Trim([FORM/SUBFORM ADDRESS].RecordsetClone.RecordCount)
当子窗体通过VBA记录源SQL的更改进行过滤时,这种方法可以很好地工作
最近,尽管我添加了用户也可以使用运行acCmdFilterMenu
的命令按钮对子表单列进行过滤的功能,即以下类型的菜单:
我将record count方法放在一个模块中,以便在窗体和子窗体事件之间全局调用它:
公共子收件箱计数()
形式!Home.txtInboxCount=Trim(Forms!Home!tblJob\u Search\u sub.Form.RecordsetClone.RecordCount)
端接头
然后调用子窗体的OnApplyFilter事件中的记录计数:
Private子表单\u ApplyFilter(取消为整数,ApplyType为整数)
MsgBox“已应用过滤器”
收件箱计数
端接头
测试消息“Filter Applied”会触发,因此它在该事件中运行代码。当使用acCmdFilterMenu
筛选子窗体时,我使用的记录计数方法似乎不起作用。。。但当我使用更改记录源SQL的命令筛选子窗体时,它确实起作用
使用acCmdFilterMenu
筛选子表单时,如何获取子表单的记录计数?在子表单的页脚部分创建一个文本框(您可以使用Visible=False
将其隐藏),并将其sourceObject设置为=count(*)
让我们把它命名为txtRecordCount
在父窗体中,创建另一个引用上一个文本框的文本框。将SourceObject设置为
=[NameOfSubformControl].Form![txtRecordCount]
非常感谢。这适用于acCmdFilterMenu
方法,因此我们接受了答案,但是当通过更改记录源的SQL来过滤子窗体时,父窗体上的文本框会显示#Error
。我确信我能找出如何根据上下文使用不同的记录计数方法。这会在该窗体的数据表视图中添加一列,显示0,直到单击该列为止。。。真不幸。