• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセステーブルでのルックアップ条件別表示について)

アクセステーブルでのルックアップ条件別表示について

このQ&Aのポイント
  • ACCESS2016を使用している場合、テーブルのルックアップフィールドに表示されるデータを条件によって変えたい場合について教えてください。
  • フォームでの方法ではなく、テーブルでの表示方法についてアドバイスをお願いします。
  • 具体的な例として、T_マスターというテーブルの地区がAの場合にはT_ルックアップAを、地区がBの場合にはT_ルックアップBを担当者に表示させたいと考えています。

質問者が選んだベストアンサー

  • ベストアンサー
  • chayamati
  • ベストアンサー率41% (260/624)
回答No.1

>条件によってテーブルのルックアップフィールドに表示されるデータを  変えたいのですが、  フォームでのやり方は分かりますが、  テーブルで表示させたいと思っています。  「T_マスター」テーブルの地区がAのときは「T_ルックアップA」を、  「T_マスター」テーブルの地区がBのときは「T_ルックアップB」を   担当者に表示させて、  各「T_ルックアップ」テーブルにある3番目の担当者を   入力したいと考えています。 ★地区毎にルックアップするのではなく、ルックアプの定義は一つだけです。  担当者毎に固定であればT_マスタの地区フィールドを参照  出来るので何もする必要がありません。  前回テーブルの組み立てが変と断言しました。  なのでテーブルの名前はこちらで決めさせていただきます  テーブル名の先頭は半角のMTL   (M:マスタ T:トランザクション L:ルックアップ専用) 1.テーブル  今回はM担当者の地区IDにL地区をルックアップ設定します 1-1.M担当者  ・ID:(オートナンバー型の主キー 長整数型)  ・担当者名:短いテキスト型  ・地区ID:(長整数型 L地区をルックアップ)  1-2.L地区  ・ID:(オートナンバー型の主キー 長整数型)  ・地区名:短いテキスト型 2.M担当者の地区IDにL地区でルックアップ  流れの順を列挙しますが、各ツールは→で区切っています。   クリックで進みます  M担当者をテーブルをデザインビューで開き地区ID→下のルックアップタグ  表示コントロール1行だけ表示されます  これの右端のVをクリックすると(テキスト、リスト、コンボのリストになり  →コンボボックス   添付のような表示になります   列数をIDと地区名の2に変更  →値集合ソースの右端V→L地区  これで他の行は規定値で今回は修正の必要がありません    ・連結列:L地区の1行目ID  ・列数2:L地区の1行目ID2行目地区名  ・列幅:L地区のフィールドの表示幅です。   IDはCP任せで意味不明です。0は非表示にする   それぞれの表示幅は;区切りで決めますが最後の一つは省略できます  ・リスト行数:16が規定値ですが自分は48行にしているテーブルがあります    このプルダウンリストはフォームの高さを超えても表示されます。  ・リスト幅:自動は元のテキストボックスの幅ですが、   これ以上はここで指定します 3.フォームの作成  3-1.フォームを条件付きで開くときは、開く前に条件値を確定している   必要があります  3-2.この条件を確定させるフォームをメニューとします。  3-3メニューフォームの作成   作成タブ→フォームデザイン→デザインリボン→コンボボックス  →詳細画面→次へ→表示されたリストからL地区→次へ→全て→次へ→次へ  →次へ→完了   ここで「表示する値をここで指定」を選ぶとルックアップ用テーブルは不要       検索Key名を値をここで表示する  →次へ→L地区→ID,地区を選択→次へ→次へ→次へ→完了  →作成したコンポボックス  →プロパティ―シート→その他タグ→名前をラベル表示と同じ地区名とする  →フォームを閉じる→はい→「メニュー」と入力 3-4.M担当者の登録フォームを作成   M担当者にカーソルを合わせて選択状態にする→作成リボン  →その他のフォーム→複数のアイテム   M担当者のフォームが開いて登録状態になっています。  →M担当者のタグを右クリック→デザインビュー→詳細側のIDを削除  →配置リボン内のサイズ/間隙ツールを駆使して形を整えて下さい   自動調整はラベルボッククスの文字列に合わさり、   テキッストボックスは連動します。 3-5.地区IDメニューの地区名を検索条件とする  →フォームフッター→データタグ→レコードソースの右端…   フィールドでなくフォームのプッロパティを表示するためです。    クエリビルダが起動し、クエリの画面になります  →ワイルドカードの*をフィールドへドラッグ  →検索対象の地区IDをフィールドにドラッグ→表示が*と重複するので   表示のチェックを外す 4.メニュー  メニューフォームは他のフォーム、レポート(見積書等)を開くボックッス  、会社のプロフィール  (自社名、住所、決算日、日報、月報、年報作成のための日付項目)   を計算しておきます。  そのためファイルを開いたとき、最初に開く設定が出来ます  ファイルリボン→オプション→現在のデータベース→フォームの表示  →プルダウンやメニュー→OK ★テーブル、クエリ、フォーム、レポートの関係を重ねました  情報は全てテーブルに保管されます。他はテーブル参照するためです  テーブルのフィールドには実行効率を上げたり、  矛盾する情報入らないためのプッロパティがあります。  多くの人、特にExcelを使い込んだ人は同じような画面でテーブルが  作成できるのでテーブルをとばして、クエリ、  フォームと進まれるのではないでしょうか  テーブルはシステムの土台です。しっかり抑えておきましょう  

ankle
質問者

お礼

chayamatiさん、いつも大変お世話になっております。 長文にわたりご教示いただきまして、誠にありがとうございます。 今後とも、よろしくお願いいたします。