我有一个远程ODBC数据源'A',其值将根据本地访问数据库中的表'B'进行更新。我怎么能这样做?我尝试使用传递查询,但是我无法在ONE SINGLE查询中访问远程和本地源。我该怎么办呢?
链接表如何工作?我可以使用VBA动态地将本地表链接到ODBC数据库吗?
答案 0 :(得分:1)
在Access数据库中,只需为ODBC数据源创建链接表:
有关详细说明,请参阅
About importing and linking data and database objects
完成后,您可以在Access中使用同一查询中的链接表和本地表:
答案 1 :(得分: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
希望这有帮助