首页 > 解决方案 > 使用查询创建 adodb RecordSet

问题描述

我想通过触发存储在 MsAccess 中的查询来获取 excel VBA 中的记录集。

当我添加适当的 SQL 查询时,代码工作正常,但我想避免将查询添加到代码中,我想使用存储在 MSACCESS 中的查询。

sql = "select * from qryUploadData"
With RS
        .ActiveConnection = conn
        .CursorType = adOpenStatic
        .LockType = adLockOptimistic
        .Open sql
End With

qryUploadData 是访问查询的名称。如果我将它放入 SQL 查询中,就好像它是一个表一样,它可以正常工作,但如果我尝试直接打开它,它就不行。有什么方法可以使用它吗?

标签: excelvbams-accessrecordset

解决方案


我认为我之前的评论解释了它,但如果它有点模糊,调用查询的名称作为你的 sql 命令应该会导致查询在 Access 中运行。您应该能够:

sql = "qryUploadData"
With RS
        .ActiveConnection = conn
        .CursorType = adOpenStatic
        .LockType = adLockOptimistic
        .Open sql
End With

推荐阅读