如何解决什么是使用过滤的表单结果作为查询记录集的 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 举报,一经查实,本站将立刻删除。