Ms access 是否使用本地Access数据库中的数据更新ODBC数据源中的数据?

Ms access 是否使用本地Access数据库中的数据更新ODBC数据源中的数据?,ms-access,vba,odbc,ms-access-2007,Ms Access,Vba,Odbc,Ms Access 2007,我有一个远程ODBC数据源“a”,其值将根据本地access数据库中的表“B”进行更新。我怎么能做同样的事?。我尝试使用传递查询,但无法在一个查询中同时访问远程和本地源。我该怎么做呢 链接表是如何工作的?我可以使用VBA将本地表动态链接到ODBC数据库吗?您不能动态创建我知道的链接,尽管您可以刷新已经存在的链接 需要什么样的连接?如果只是更新一行或几行,您可以这样做:(我只能使用ado编写(意味着添加对microsoft.activex数据对象的引用) 希望这有助于在Access数据库中为ODB

我有一个远程ODBC数据源“a”,其值将根据本地access数据库中的表“B”进行更新。我怎么能做同样的事?。我尝试使用传递查询,但无法在一个查询中同时访问远程和本地源。我该怎么做呢


链接表是如何工作的?我可以使用VBA将本地表动态链接到ODBC数据库吗?

您不能动态创建我知道的链接,尽管您可以刷新已经存在的链接

需要什么样的连接?如果只是更新一行或几行,您可以这样做:(我只能使用ado编写(意味着添加对microsoft.activex数据对象的引用)


希望这有助于在Access数据库中为ODBC数据源创建链接表:

有关详细说明,请参阅

完成后,您可以在Access中的同一查询中使用链接表和本地表:

dim ss as string 'tempstr, sqlstr whatever you want to call it

dim cn as object: set cn = createobject("adodb.connection")
cn.Connection = [connection string required for ODBC datasource]
cn.Open

dim rst as object: set rst = createobject("adodb.recordset")
rst.open "SELECT required_data_column_list FROM localTable [WHERE ...]" _
    , currentproject.connection, adOpenStatic, adLockReadOnly
do while not rst.eof
    ss = "UPDATE ODBC_TableName SET ColumnA = '" & rst.Fields(3) & "' [, ... ]
    ss = ss & " WHERE ... "
    cn.Execute ss
    do while cn.State = adStateExecuting
    loop
    rst.movenext
loop
set rst = nothing     'these statements free up memory, 
set cn = nothing      'given that these objects are unmanaged