微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么是使用过滤的表单结果作为查询记录集的 vba 代码

如何解决什么是使用过滤的表单结果作为查询记录集的 vba 代码

使用过滤的表单结果作为查询记录集的 vba 代码是什么?

我首先开始看是否可以创建然后打开记录集...

Dim rst As DAO.Recordset 
Set rst = Me.RecordsetClone 
CurrentDb.OpenRecordset ("rst") 

并得到运行时错误‘3078’ MS Access 数据库引擎找不到输入表或查询‘rst’我以前没有使用过记录集。谢谢

解决方法

其实你只需要这个

Dim rst As DAO.Recordset 
Set rst = Me.RecordsetClone 

记录集克隆已经打开,并且已经存在。

因此,您根本不需要 OpenRecordset 命令。这个开箱即用的“方便” RecordsetClone 适用于所有表单,您甚至不必打开它。

现在该记录集将具有过滤后的数据。那么问题就变成了你想用数据做什么。

但是,假设您有一个基于与表单相同的表格的报告,表单会被过滤吗?

好吧,实际上在这种情况下,您不需要(也不想要)reocrdset,而只需使用当前/相同表单过滤器打开该表单即可。

你可以这样做:

DoCmd.OpenReport "rptCustomers",Me.Filter

但是,如果您出于某种原因需要/想要根据当前过滤器处理记录集?然后使用 RecordsetClone 将起作用。这不要与 RecordSet.Clone(也退出)混淆。

如前所述,它已经打开并存在。所以你只需要这个:

Dim rst As DAO.Recordset
Set rst = Me.RecordsetClone

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。