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

EXCEL2003 VBAで2つのDBに接続してSQLを実行し、異なるDBのTBLを結合する。

こんな方法あるのかどうかわかりませんが、
VBAでDBに接続する際に同時?に2つのDBに接続し1つのSQLで違うDB同士を任意のキーで結合はできるのでしょうか?
どなたかわかる方お願いします。

今考えているのは最初に1つのDBに接続し、データを取得後、再度違うDBに接続し取得したデータを先ほどのデータとVBA内で結合しようと考えています。

ほかにいい方法があればアドバイスおねがいします。

※今まではACCESSを介してこの処理を行っていましたが引継ぎの関係でEXCELのみでこの処理を
 実行しなければなりません。

A 回答 (2件)

DBが違うものを一つのクエリで処理することは


できません。Accessではリンクテーブルとして、
処理できますが、これを使わないとなると、まず
無理でしょう。

どちらかのDBをエクスポート→インポートする方が
現実的な解決のように思います。

VBAで1件ずつ処理するのはデータ量が僅少ならば
考える余地はありますが、バグ取りの手間、処理に
かかる時間を考えると、やる気がしません。
    • good
    • 0

>2つのDB


質問には大げさにDBと書くのでなく、そのファイルなどのファイル形式を書かないと。
例えばテキストファイルなどなら、相当やさしくなる。
エクセルでSQLを使うといっても、操作では、MSクエリ(データー外部データの取り込みー新しいデータベースクエリ)があるぐらいと思う。
>引継ぎの関係でEXCELのみでこの・・
相手はエクセル以外は知らないということか。そういうレベルの人には、質問が実現しても、余計難しくなると思うが。相手はVBAは経験あるのか。
エクセルからアクセスを起動して(VBAで)・・のようなのは考慮外か。
エクセルからADOを使って処理するなどはどうか。
こんなところに質問を出す前にGoogleででも「ado エクセル SQL」「ado エクセル 」などの記事を読んだのですか。「エクセル SQL」でも参考になる記事があるようだ。
ーー
>VBA内で結合しようと考えています。
これはキーによる「マッチングのアルゴリズム」を使えば出来る。
Googleで「キーマッチング」ででも沢山記事があった
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
    • good
    • 0

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

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


このQ&Aを見た人がよく見るQ&A