■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#9304-0
複数mdbから必要テーブルをリンクさせたいのですが・・・
お初になります。
VisualBasicを始めて2週間くらいです
わからない事だらけの第一歩として
VisualBasicのリンクで躓いています。

躓き内容ですが、複数のmdbからテーブルをリンクさせ必要項目を選択し
好みのテーブルを作成したいのですが、リンクのコーディング方法が分かりません。
環境および条件を下記に記載しますのでご教授のほどよろしくお願いいたします。

【環境】
 ・データベース   Access97のmdb
 ・ソフト        VisualBasic Ver.5
 ・OS          Windows-NT

【条件】
 ? 1.mdbと2.mdbを使用
 ? 1.mdbのA.TBL  2.mdbのB.TBL を使用
 ? A.TBL項目内容: あ項目 い項目 う項目   B.TBL項目内容: ア項目 カ項目 サ項目 
 ? 1.mdbに2.mdb内のB.TBLをリンクし 1.mdb内へC.TBLを作成する
 ? A.TBLの あ項目 と B.TBL の ア項目 をキーとしてリレーションします。
 ? C.TBL内 の項目は あ項目 い項目 カ項目 サ項目 
 
です。
リンクするには、どのような関数でどのようにコーディングすれば良いのでしょうか?
だれか教えて下さい お願いします。 m(_ _)m
#9312-0
RE#9304:複数mdbから必要テーブルをリンクさせたいのですが・・・
実行時にリンクさせるのですか!?
これを行うには、オブジェクトとして Access を取得して、操作するしかないと思います。
が、とても難しいので、始めたばかりの人にはおおすめ出来ません。

リレーションまで張るようなので、デザイン時ではダメなのでしょうか?
このほうが簡単なので、仕様変更を申請することをおすすめします。

デザイン時でよければ、テーブルのリンクで別の MDB のテーブルを参照できるようにする
だけです。このテーブルは、通常のテーブルと同じように使用できるので、リレーションも
クエリも、マウス操作で作成できます。
(実行時でやるしかなければ、AccessVBA の「リンクの更新」あたりが参考になります。)
#9313-0
RE#9312:複数mdbから必要テーブルをリンクさせたいのですが・・・
> (実行時でやるしかなければ、AccessVBA の「リンクの更新」あたりが参考になります。)

(^^ゞ 違いますね。VB 側で CreateObject、Access 側で CreateTableDef・CreateRelation
などを参考にして下さい。
#9314-0
RE#9304:複数mdbから必要テーブルをリンクさせたいのですが・・・
> 躓き内容ですが、複数のmdbからテーブルをリンクさせ必要項目を選択し
ちなみに、IN句をクエリーに指定するなどすれば、
リンクさせなくても、他のMDBを参照することは可能です。

> 好みのテーブルを作成したいのですが、リンクのコーディング方法が分かりません。
DAOのCreateTableDefメソッドを使ってみてください。

>  (2) 1.mdbのA.TBL  2.mdbのB.TBL を使用
"A.TBL"ですか?
テーブル名にピリオドは含められませんので、別の名前にしましょう。(^^;)

>  (4) 1.mdbに2.mdb内のB.TBLをリンクし 1.mdb内へC.TBLを作成する
ん? もしかして「リンクテーブル」を作りたいのではなく、
2つのテーブルから、別のテーブルを作成したいって事ですか?

であれば、SELECT INTOクエリーを使って

SELECT [テーブル1].[列1], [Table2].[Fld1], [Table2].[Fld2]
  INTO NewTable
 FROM [C:\My Documents\DB1.MDB].[テーブル1] 
   INNER JOIN [C:\My Documents\DB2.MDB].[Table2] 
    ON [テーブル1].[列3] = [Table2].[Fld3];

こんな感じにすることができますよ。


>  (5) A.TBLの あ項目 と B.TBL の ア項目 をキーとしてリレーションします。
DAOの、CreateRelation メソッドの使用例を見てください。
#9316-0
RE#9314:複数mdbから必要テーブルをリンクさせたいのですが・・・
> > 躓き内容ですが、複数のmdbからテーブルをリンクさせ必要項目を選択し
> ちなみに、IN句をクエリーに指定するなどすれば、
> リンクさせなくても、他のMDBを参照することは可能です。
> 
> > 好みのテーブルを作成したいのですが、リンクのコーディング方法が分かりません。
> DAOのCreateTableDefメソッドを使ってみてください。
> 
> >  (2) 1.mdbのA.TBL  2.mdbのB.TBL を使用
> "A.TBL"ですか?
> テーブル名にピリオドは含められませんので、別の名前にしましょう。(^^;)
> 
> >  (4) 1.mdbに2.mdb内のB.TBLをリンクし 1.mdb内へC.TBLを作成する
> ん? もしかして「リンクテーブル」を作りたいのではなく、
> 2つのテーブルから、別のテーブルを作成したいって事ですか?
> 
> であれば、SELECT INTOクエリーを使って
> 
> SELECT [テーブル1].[列1], [Table2].[Fld1], [Table2].[Fld2]
>   INTO NewTable
>  FROM [C:\My Documents\DB1.MDB].[テーブル1] 
>    INNER JOIN [C:\My Documents\DB2.MDB].[Table2] 
>     ON [テーブル1].[列3] = [Table2].[Fld3];
> 
> こんな感じにすることができますよ。
> 
> 
> >  (5) A.TBLの あ項目 と B.TBL の ア項目 をキーとしてリレーションします。
> DAOの、CreateRelation メソッドの使用例を見てください。

アドバイス有り難うございます。
明日会社で早速やってみます。
どうもありがとうございます。m(_ _)m
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)