MS Access插入选择不适用于vba
我正在尝试运行插入到select查询,如下所示:MS Access插入选择不适用于vba,vba,ms-access,Vba,Ms Access,我正在尝试运行插入到select查询,如下所示: Dim rs as new ADODB.recordset rs.Open "INSERT INTO tempTable(PartNumber, Age, Height, Notes, UpdateType)" & _ " SELECT PartNumber, Age, Height, Notes, UpdateType FROM TABLE2", CurrentProject.Co
Dim rs as new ADODB.recordset
rs.Open "INSERT INTO tempTable(PartNumber, Age, Height, Notes, UpdateType)" & _
" SELECT PartNumber, Age, Height, Notes, UpdateType FROM TABLE2", CurrentProject.Connection, adOpenStatic, adLockOptimistic
这给了我一个错误:
INSERT INTO STANTE中的语法错误
真正奇怪的是,当我debug.print上面的语句并从Access数据库中的查询向导运行查询时,它运行得很好
我对currentproject.connection
的理解是,我可以愉快地使用Jet SQL或MS Access查询语法,因此,如果查询在Access中的查询窗口中运行,它也应该在VBA中运行。看来情况并非如此
以下是我试图让代码运行的其他一些事情:
CurrentProject.Connection.Execute "INSERT INTO tempTable(PartNumber, Age, Height, Notes, UpdateType)" & _
" SELECT PartNumber, Age, Height, Notes, UpdateType FROM TABLE2"
这会产生与上述相同的错误
我还尝试添加新行vbclrf
:
rs.Open "INSERT INTO tempTable(PartNumber, Age, Height, Notes, UpdateType)" & _
& vbclrf & " SELECT PartNumber, Age, Height, Notes, UpdateType FROM TABLE2", CurrentProject.Connection, adOpenStatic, adLockOptimistic
但它给了我同样的错误只有SELECT语句用于设置记录集对象。不需要记录集 INSERT是一个SQL操作,因此对于VBA构造语句,请使用DoCmd.RunSQL或CurrentDb.Execute或CurrentProject.Connection.Execute
我的首选是:
CurrentDb.Execute“yoursqlstatement here”
为什么要将记录复制到诱惑中,而不仅仅是使用查询?不需要测试和括号。其他原因导致执行失败。虽然我所看到的应该是可行的,但我正在将记录复制到临时表中,因为我想在数据表视图中以表单的形式显示它。我知道我也可以使用查询,但我想在每个记录旁边添加一个复选框。我想将复选框值设置为用户设置的任何值,即使用户关闭表单并返回时也是如此。因此,我必须为CurrentDb.Execute
worked使用一个临时表