プロが教える店舗&オフィスのセキュリティ対策術

Access2003+PostgreSQLにて販売管理システムを構築しています。

レコードを見る・更新する時はサーバーのレコードを
ワークテーブル(ローカルのmdbファイル内のテーブル)にコピーし
値を変更後、ローカルからサーバーにデータを戻す、といった処理をしたいと考えています。

サーバーからレコードをコピーする際は、ODBC接続&ADOにて
サーバーのレコードを一旦レコードセットに格納し
「CurrentProject.Connection.Execute SQL文」で
ワークテーブルにINSERTしています。


ここで質問なのが、ワークテーブルからサーバーにレコードを戻す際は
ワークテーブル・サーバーへはそれぞれどの方法で接続すればいいでしょうか。
例えばサーバーへODBC&ADOで接続した場合、ワークテーブルの取扱方法(接続方法)が分かりません。
サーバー:ADO、ワーク:DAO、みたいな事するのでしょうか。

スマートな方法がお分かりの方は教えて下さい。
宜しくお願い申し上げます。

A 回答 (1件)

こんにちは。



>例えばサーバーへODBC&ADOで接続した場合、
>ワークテーブルの取扱方法(接続方法)が分かりません。

素のPostgreSQLからAccessへの接続する方法はありません。ですから、
基本的には クライアントのAccessからPostgreSQLに接続することになります。
したがって、Jet-SQLの機能でPostgreSQL上のテーブルを外部テーブルとして
処理します。

で、どうするかですが、リンクテーブルが使えなくなってしまったので
SQLのIN句を使います。

PostgreSQLからAccessにデータを渡すのは

INSERT INTO jettbl (f1, f2, f3)
SELECT f1, f2, f3
FROM [ODBC;DRIVER=PostgreSQL35W;SERVER=srv1;DATABASE=db1;UID=xxx;PWD=yyy;].pgtbl;

こんな感じでできます。これを参考にされればこの逆は想像できませんか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!