#検討内容
VBAを使って、アクセスのデータベースに接続して
テーブル丸ごとをセルに転送するマクロを作っています。
アクセス側のテーブルですが、フィールドにはキーとなるIDが入っているだけで、
実体はリレーション関係のあるテーブルを参照しています。
アクセス側では、ルックアップフィールドの設定をしており、
データを参照すると、実体がリストになっています。
#質問内容
EXCELからDAOを介して、シート上にテーブルを読み込んだ際に、
ACCESSと同様なキーIDでの入力制限によるルックアップフィールドの参照を、
実現するには、どういうVBAマクロを組めばよいでしょうか?
現状は、ACCESS側で内部結合させた選択クエリを作っていて、
とりあえずEXCEL側の参照には、クエリ(参照用)をつかうことをやっています。
しかしクエリでは編集ができないので、マスターテーブルも用意しておいて
ワークシート2枚構成でやっております。
なんとなく釈然としない状態になっております。。
#追加の検討内容
1)ACCESS
ACCESS側に、隠蔽されたSYSテーブルから、アクセスのリレーションシップを取得できることが分かりました。
EXCEL側で、テーブルのリレーションシップ情報を解析するというのが良さそうです。
2)EXCEL
EXCEL2013に、パワークエリー、パワーピボットなるアドインを組み込むと、
EXCEL内部で、データテーブルを結合できるような機能があることが分かりました。
これを使うと、内部結合をさせて、一つのシートに展開できるので、
マクロなどを使わなくても良さそうです(ただ内部結合は2テーブル間なのか、もっと多数のテーブルを結合できるのかは調査中です)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。