dポイントプレゼントキャンペーン実施中!

追加クエリをVBA上のSQLで作成しています。

A.MDBとB.MDBに同名のTable_Aがあり、フィールドも同じです。。

これを重複をチェックするためにField_Aでジョインさせていますが、
テーブル名もフィールド名も同じなために区別ができません。

どのようにして区別するとよいのでしょうか?

A 回答 (3件)

#1です。

リンクを張って

INSERT INTO Table_A1
SELECT Table_A.*
FROM Table_A LEFT JOIN Table_A1 ON [Table_A].[ID]=[Table_A1].[ID]
WHERE ((([Table_A1].[ID]) Is Null));

みたいなSQL文でいかがでしょう
    • good
    • 0
この回答へのお礼

リンクテーブルでいけました。

データの有無チェックはやっぱり、同MDBでないと
無理なんでしょうねぇ。。(リンクにしない場合)

リンクしなくてもJoinって可能なんでしょうか?

お礼日時:2005/04/07 12:41

>リンクしなくてもJoinって可能なんでしょうか?



ちょっと考えて下さい。リンクしないでJoinすることを要求されたら、データベース(エンジン)はどこを探しに行けば良いでしょうか?
いくつものデータベースに同じ名前のテーブルがあったり、ネットワークが広範囲に拡がっていたり。全部丸なげでデータベースに面倒を見てくれってのは無理です。

この回答への補足

アクションクエリで外部DBに書き出す場合、IN句を
使いますが、そんなのができないかなぁ。と思った
次第です。

今回はリンクでいけたので助かりました。

ありがとうございました。

補足日時:2005/04/07 15:58
    • good
    • 0

質問が明快でないため回答がないように見受けました。


VBAということなのでAccessの中での話でしょうか。

A.MDBからB.MDBのTable_Aにリンクを張れば、Accessは自動的に Table_A1 として名前を付け替え、SQL文は

例:SELECT DownLoadLog.TgtURLID, Table_A1.TgtURLID
FROM DownLoadLog INNER JOIN Table_A1 ON DownLoadLog.LogID = Table_A1.LogID;

のように、二つの名前で出来ると考えます。
問題点を具体的に、場合によってはソースを提示するなどして補足されてはいかがでしょう。

この回答への補足

VBA+MDBファイルということなのでAccessでもExcelでもWordでも何
でもかまいません。

Table_Aに伝票IDが存在したとして、A.MDBからB.MDBに伝票IDが
存在しないものだけをアクションクエリでExportできないかと思
います。


リンクテーブルにする方法はやっていなかったので試
してみたいとおもます。

補足日時:2005/04/07 12:01
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す