
顧客情報の入ったテーブルにメイン担当者IDとサブ担当者IDがあり、別テーブルの社員情報から
社員名などを引っ張ってくるクエリを組んでいます。
現在は、メイン担当者名とサブ担当者名を持ってくる為に社員情報を2回追加して、それぞれで
両方にある担当者IDをキーにして結合させているのですが、テーブル1回の追加でメインとサブ両担当者の社員名を持ってくる方法はあるのでしょうか?
まだ、ACCESSを勉強中のため色々と調べてみましたが知識不足のためか出来る出来ないの判断も出来ませんでした。
出来ないなら諦めがつくのですが、もし1回の追加で済むならその方がシンプルで良いと思うのでもし方法があるようでしたら教えていただければと思います。
No.2ベストアンサー
- 回答日時:
【要旨】
『顧客情報』テーブルの『メイン担当者ID』と『サブ担当者ID』に相当する担当者名を、
1つしか追加していない『社員情報』テーブルとの「結合線」によって同時に表示させることは、
残念ながらできません。
【詳細】
> テーブル1回の追加でメインとサブ両担当者の社員名を持ってくる方法はあるのでしょうか?
『メイン担当者ID-担当者ID』と『サブ担当者ID-担当者ID』の2つの結合線を作成すると、
それは「メイン担当者ID=担当者ID」と「サブ担当者ID=担当者ID」を同時に満たすレコード、
つまり「メイン担当者=サブ担当者」(兼任というか単独担当)を抽出することになります。
(大雑把に言ってしまえばAnd検索に相当する、と)
ですので、現状のテーブル構成では、prius770cさんが既に行っているように、面倒でも
『担当者』テーブルは2回追加するのが、一般的(かつ結果表示も速い)です。
【その他の対応案】
◆A案・『顧客情報』テーブルで担当者名を表示
『社員情報』テーブルのレコード数が多かったりすると、上記の方法よりも動作がもたついて
しまいますが(汗)、『メイン担当者ID』と『サブ担当者ID』にコンボボックスを使用すると、
クエリなしでも対応できます。
『顧客情報』テーブルをデザインビューで開いて『メイン担当者ID』の行を選択したら、
『データ型』のコンボボックスの一番下にある「ルックアップウィザード」を指定して下さい。
後は、ウィザードに従って操作を行うことで、『社員情報』の担当者名を表示させるように
することができます。
(『サブ担当者ID』についても、同様の操作を繰り返します)
※上記ウィザードを実行する代わりに、テーブルのデザインビューの左下の『ルックアップ』
タブで『表示コントロール』を「コンボボックス」にし、『値集合ソース』などを設定しても
Okです。
(なお、ウィザードを使用した場合は、リレーションシップも自動で設定されます)
なお、テーブルでこの設定を行うと、以降、同テーブルを元にしたフォームでフィールドリスト
からのドラッグ&ドロップで『メイン担当者ID』を追加すれば、自動的にコンボボックスでの
表示になります。
また、テーブルではあくまでIDの数値を表示したいという場合は、同テーブル1個だけを
追加したクエリで、『メイン担当者ID』のプロパティシートの『ルックアップ』タブで、同様の
設定を行えばOkです(残念ながらウィザードはないので手動になりますが)。
(クエリ上でIDと担当者名の双方を表示したい場合は、コンボボックスでの表示を設定
した側の『フィールド名』欄を、「メイン担当者ID」から「メイン担当名: メイン担当者ID」
と、「フィールド名として表示したい名前」+「半角コロン(:)」を追加してやります)
◆B案・担当者情報の記録方法を変える
※こちらの方法は、実際にはテーブル構成の全面改修になってしまいます。
あくまで、今後の参考情報ということで概略だけ・・・(汗)
顧客に対して複数の担当者が置かれる場合は、「顧客情報」部分と「担当者情報」
部分を別テーブルとして、1対多の関係にした方が、他のテーブルとの連携が簡単に
なりますし(→メイン/サブの担当者に対して、1つの『社員情報』テーブルの追加で対応
可能)、担当者の数が3人、4人・・・と増えても、『担当者情報』テーブルへのレコード
追加だけで対応できます。
(「担当者が5人になったから『社員情報』テーブルを5個追加しないと・・・」なんてことに
ならないで済む、と)
※この場合、単純な選択クエリだと、「1つの顧客のレコード数=その顧客の担当者の人数」
になります。
(「1顧客1行」にする場合は、クロス集計クエリを使用することになります:
但し、この形での編集は不可、表示専用になります)
回答と対策案ありがとうございます。
基本的な自分の考え方が誤っていないくてホッとしました。
対策案の二つ目は確かに出来そうなのですが、残念ながら顧客情報テーブルの定義は決まって
しまっています。(既存システムのテーブルをリンクしているため)
でも、勉強になりましたありがとうございます。

No.1
- 回答日時:
社員情報のテーブルには社員IDと社員氏名があるものとします。
社員情報のテーブルをコピーして二つにします。仮にE,Fと呼びます。Fのテーブルの社員IDの項目名を「サブ社員ID」と変えて、E,Fは別のテーブルのように見せかけておきます。そこで三つのテーブルの間でリレーションを組みます。メインテーブルを、仮にDと呼びます。Dのメイン担当社員IDとEのテーブルの社員IDの間に結合線、もうひとつはDのサブ担当社員IDとFのサブ社員IDの間に結合線を引きます。そこで三つのテーブルを入れたクエリーをつくり、クエリーを実行します。不要な項目は非表示にしたり、並べる順序は自由に変えられます。このことはすでにご存知と思います。これで一度に目的の表がつくれます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- その他(セキュリティ) これは個人情報取扱に違反していますか? 5 2022/11/15 22:02
- 中途・キャリア 入社前に提示してもらった雇用条件と入社してから頂いた雇用条件、契約書の内容が違うことってありますか。 3 2022/11/01 00:27
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Access(アクセス) ACSESS初心者です マンション管理をACCESSで出来ないかとチャレンジしています。 リレーショ 3 2022/10/08 11:45
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- その他(データベース) accessについて 2 2022/05/31 16:58
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて見た映画を教えてください!
初めて見た映画を覚えていますか?
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
あなたの「プチ贅沢」はなんですか?
お仕事や勉強などを頑張った自分へのご褒美としてやっている「プチ贅沢」があったら教えてください。
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
-
4
Acccessで2つのテーブルから1つのフォームをつくりたい
Access(アクセス)
-
5
Accessで、1つのマスターを複数のフィールドで参照する
Access(アクセス)
-
6
アクセス:クエリの結合とリレーションシップの違いについて
Access(アクセス)
-
7
クエリ上でフィールド名が2つあるときの見分け方
Access(アクセス)
-
8
Accessでレコードの複製
Access(アクセス)
-
9
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
10
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
11
ACCESS クエリの抽出条件に他のテーブルの値を参照する方法
Access(アクセス)
-
12
アクセスのレポートのヘッダーを2ページ以降にもつけるには?
Access(アクセス)
-
13
ACCESS テーブルを見比べて、一致しないレコードを追加したいです
Access(アクセス)
-
14
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
15
ACCESS DCOUNTの抽出条件について
Access(アクセス)
-
16
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
17
ACCESSでクエリ作成時複数のフィールドを同じマスタ項目から抽出する方法
その他(データベース)
-
18
Access2016でホームタブしか表示されない
ネットワーク
-
19
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
20
ACCESS2007 フォーム 「バリアント型でない変数にNull値を代入しようとしました」エラーの
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
最新日のデータのみ抽出するク...
-
テーブルに表示されているもの...
-
アクセス 部分一致の抽出
-
accessのテーブルを閉じたとき...
-
Acccessで2つのテーブルから1...
-
ACCESSユニオンクエリから新テ...
-
access vbaにてテンポラリーテ...
-
ユニオンクエリをデザインビュ...
-
Accessのテーブルで、リンク?...
-
テーブル内の文字数が多くても...
-
access2000・・テーブルをデー...
-
Accessでテーブルのリンクを範...
-
ACCESSでテーブルをコピーしよ...
-
Accessのリンクされたテーブル...
-
アクセスVBA現在開いている全て...
-
Microsoft Access 「Form」のボ...
-
MDBファイルを比較するツール(...
-
アクセス2016 チェックボックス...
-
アクセス2002の年齢表示の方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
ACCESSユニオンクエリから新テ...
-
テーブルに表示されているもの...
-
access vbaにてテンポラリーテ...
-
最新日のデータのみ抽出するク...
-
Accessのテーブルで、リンク?...
-
Accessのリンクされたテーブル...
-
Acccessで2つのテーブルから1...
-
クエリで同一テーブルの複数回...
-
アクセス2016 チェックボックス...
-
ACCESS テーブルを見比...
-
アクセス 部分一致の抽出
-
ACCESSのODBCリンクテーブルの...
-
access2000・・テーブルをデー...
-
Accessでリストの並び順を変更...
-
ACCESSでテーブルをコピーしよ...
-
accessのテーブルを閉じたとき...
-
AccessVBAで任意の複数リンクテ...
-
ACCESS テーブルを見比...
-
ユニオンクエリをデザインビュ...
おすすめ情報