0

リモート ODBC データ ソース 'A' があり、その値はローカル アクセス データベースのテーブル 'B' に従って更新されます。どうすれば同じことができますか?パススルー クエリを使用してみましたが、ONE SINGLE クエリでリモート ソースとローカル ソースの両方にアクセスできません。どうすれば同じですか?

リンクテーブルはどのように機能しますか? VBA を使用してローカル テーブルを ODBC データベースに動的にリンクできますか?

4

2 に答える 2

1

Access データベースで、ODBC データ ソースのリンク テーブルを作成するだけです。

ODBC.png

詳細な手順については、次を参照してください。

データとデータベース オブジェクトのインポートとリンクについて

これが完了すると、Access 内から同じクエリでリンク テーブルとローカル テーブルを使用できます。

クエリ.png

于 2013-11-06T10:30:00.687 に答える
0

私が認識しているリンクを動的に作成することはできませんが、既に存在するリンクを更新することはできます。

どのような加入が必要ですか?1 つまたはいくつかの行を更新するだけの場合は、次のようにすることができます (これは 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 に答える