如何解决MS Access 插入选择不适用于 vba
我正在尝试像这样运行插入到选择查询中:
Dim rs as new ADODB.recordset
rs.Open "INSERT INTO tempTable(PartNumber,Age,Height,Notes,UpdateType)" & _
" SELECT PartNumber,UpdateType FROM TABLE2",CurrentProject.Connection,adOpenStatic,adLockOptimistic
INSERT INTO 语句中的语法错误
真正奇怪的是,当我调试.打印上述语句并从 Access 数据库中的查询向导运行查询时,它运行得很好。
我对 currentproject.connection
的理解是,我可以愉快地使用 Jet-sql 或 MS Access 查询语法,因此如果查询在 Access 的查询窗口中运行,它也应该在 VBA 中运行。好像不是这样。
以下是我尝试使代码运行的其他一些事情:
CurrentProject.Connection.Execute "INSERT INTO tempTable(PartNumber,UpdateType FROM TABLE2"
这会产生与上述相同的错误。
rs.Open "INSERT INTO tempTable(PartNumber,UpdateType)" & _
& vbclrf & " SELECT PartNumber,adLockOptimistic
但它给了我同样的错误
解决方法
只有 SELECT 语句用于设置记录集对象。不需要记录集。
INSERT 是一个动作 SQL,所以对于 VBA 构造的语句,使用 DoCmd.RunSQL 或 CurrentDb.Execute 或 CurrentProject.Connection.Execute。
我的偏好是:CurrentDb.Execute "your SQL statement here"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。