0

我有一个远程 ODBC 数据源“A”,其值将根据本地访问数据库中的表“B”进行更新。我该怎么做?我尝试使用直通查询,但是我无法在一个查询中同时访问远程和本地源。我应该怎么做?

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

4

2 回答 2

1

在您的 Access 数据库中,只需为您的 ODBC 数据源创建一个链接表:

ODBC.png

有关详细说明,请参阅

关于导入和链接数据和数据库对象

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

查询.png

于 2013-11-06T10:30:00.687 回答
0

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

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

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

希望这可以帮助

于 2013-11-06T02:40:07.737 回答