- ベストアンサー
MS ACCESS について教えてください。
よろしくお願いします。 今度、業務でACCESSを使って住所録を作製することになりました。 現在、得意先一覧と仕入先一覧にテーブルが別れていますが、仕入先・得意先と切り替える手間を省きたいので、2つのテーブルを1つのフォームで表示できないか考えています。 クエリでつなぐと住所のフィールドが得意先・仕入先と分かれてしまうし、得意先一覧にあって仕入先一覧にないところも沢山あるため、関連付けができません。 DBを開くたびに追加クエリ得意先用・仕入先用を実行するのもDBのサイズが大きくなるので使いたくありません。 2つのテーブルを縦に連結させる方法があれば教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No1で回答したものです。 補足です。 >得意先一覧にあって仕入先一覧にないところも沢山ある これは 得意先 であり 仕入先である会社があり コード 又は結合条件となるものが同じという事ですよね。 その場合単純にユニオンクエリを使うと 得意先 かつ 仕入先 ですと 二重に表示されます(それでよいのでしたら 単純な ユニオンクエリで構いません) 回避したい場合は 得意先 = 仕入先のクエリ Union all 得意先と仕入先の差分クエリ Union all 仕入先と得意先の差分クエリ のような形にします。 それぞれのクエリ内に会社区分のようなものを付加し 得意先 = 仕入先のクエリ では "両方" 得意先と仕入先の差分クエリ "得意先" 仕入先と得意先の差分クエリ "仕入先"の ように定数を設定しておけば 見やすくなると思います。 (Select "両方" as 会社区分, ・・・・のような感じです)
その他の回答 (2)
- CHRONOS_0
- ベストアンサー率54% (457/838)
>2つのテーブルを縦に連結させる方法があれば教えてください。 ユニオンクエリを使います 連結できるのはフィールド数とデータ型が同じテーブルまたはクエリです all述語を使わなければ重複は排除されます 質問者の場合 テーブルそのものを取引先テーブルとして一つにまとめてしまう方が便利そうですね そのテーブルに取引種別フィールドを設けておけば 仕入先、販売先などだけを取り出すこともできるようになりますね
- NORI-KEN
- ベストアンサー率43% (18/41)
こんにちは。 縦に連結するとは 得意先一覧と仕入先一覧 の両方のデータを 出すという意味でよろしいでしょうか? そのような場合ですとユニオンクエリを用います。
お礼
ありがとうございました。 おかげさまでうまくいきました。 かなり満足いくDBができ、とても感謝しています。