我正在尝试使用Access VBA中的外部ODBC表更新我的本地数据库表之一。
部分更新代码如下所示。
Dim db As Database
Dim qdf As QueryDef
Dim updateQuery As String
updateQuery = "My_Update_Query"
Set db = CurrentDb()
Set qdf = db.CreateQueryDef
qdf.SQL = updateQuery
qdf.Execute dbFailOnError
我的代码在qdf.Execute行停止运行。我收到错误消息“对象无效或不再设置”。错误代码3420。
在我的更新查询中,我将本地表字段值设置为等于外部ODBC表字段值。外部ODBC表已作为链接表导入到Access中。
我是否仍然需要在此处明确连接到外部表?如果是这样,我该怎么办呢?
非常感谢您的帮助。
答案 0 :(得分:2)
“My_Update_Query”不是有效的SQL语句,这是qdf.SQL
所需要的。如果这是您要运行的查询的名称,请使用:
Dim qdf As QueryDef
Set qdf = CurrentDb.QueryDefs("My_Update_Query")
qdf.Execute
或者删除整个QueryDef
内容,然后说:
DoCmd.OpenQuery "My_Update_Query"
只要ODBC表链接到您的数据库,您就不必每次都明确连接到它。