从外部ODBC表访问VBA更新表

时间:2013-12-20 09:56:30

标签: sql vba ms-access odbc database-connection

我正在尝试使用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中。

我是否仍然需要在此处明确连接到外部表?如果是这样,我该怎么办呢?

非常感谢您的帮助。

1 个答案:

答案 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表链接到您的数据库,您就不必每次都明确连接到它。