
Access2002を使用しております。
コンボボックスAに連動したデータを絞り込みさせるコンボボックスBがありますが、一旦入力後は、コンボボックスAの値にかかわらずコンボボックスBに入力したデータを表示させるにはどうしたらよいでしょうか?
例として、次の3つのテーブルを基にデータベースを作成しております:
メインテーブル
フィールド名:
ID
社名
担当者
社名テーブル
ID 社名 住所 etc...
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
1 A社
2 B社
担当者テーブル
ID 社名ID 担当者名 電話番号 etc...
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
1 1 木村
2 2 佐藤
3 1 田中
4 2 斎藤
メインテーブルを基にしてフォームを作成し、
「メイン」というフォーム名にして
「社名」「担当者」をフィールドのコントロールをコンボボックスに変更しました。
「社名」フィールドの値集合ソースを「社名テーブル」から引き出し
SELECT [社名テーブル].ID, [社名テーブル].社名 FROM 社名テーブル; 列数2
で設定し、社名をコンボボックスで選択できるようにしました。
そして
「担当者」フィールドの値集合ソースを「担当者テーブル」から引き出し
SELECT 担当者テーブル.ID, 担当者テーブル.担当者名, 担当者テーブル.社名 FROM 担当者テーブル WHERE (((担当者テーブル.社名)=forms!メイン.社名));
で設定しました。
「社名」フィールドの「更新後処理」で
Private Sub 社名_AfterUpdate()
Me!担当者.Requery
End Sub
を設定しました。
「メイン」フォームをフォームビューで開き、「社名」コンボボックスで「A社」を選択すると
「担当者」コンボボックスで「木村」と「田中」が表示されるので、「木村」を選択します。
次のレコードに移り、「社名」コンボボックスで「B社」を選択すると
「担当者」コンボボックスで「佐藤」「斎藤」が表示されるので、「佐藤」を選択します。
さて、「佐藤」を入力した時点で、前のレコード(「A社」「木村」を選択)に戻ると
「担当者」欄が空欄で表示されます。
メインテーブルには全てデータは入力されています。
データ入力時は「担当者」コンボボックスは「社名」コンボボックスで選択した値に連動させたいのですが、
このようにデータ入力済みの場合は
最初のコンボボックスの値にかかわらず(この場合は直近に選択した社名がA社・B社のいずれかであろうとも)
入力済みのデータ(「木村」「佐藤」)がフォームに表示されるようにしたいのですが
何か良い方法はないでしょうか?
出来れば入力専用と読み取り専用のフォームを2つ使用するのではなく、1つのフォームで事足りればありがたいのですが・・・
No.1ベストアンサー
- 回答日時:
> 「社名」フィールドの「更新後処理」で
>
> Private Sub 社名_AfterUpdate()
> Me!担当者.Requery
> End Sub
>
> を設定しました。
フォームの「レコード移動時」にも
同じ処理をしましょう。
Private Sub Form_Current()
Me!担当者.Requery
End Sub
bonaronさん、回答有難うございます。
アドバイス頂いた通りに記述を加えたら出来ました!
AccessのVBAは「言われてみればその通り」の事が沢山あるのですが、実際にヒント無しで記述するとなるとなかなか出来ない事が多くて勉強になります。
昨日一日中悩んでいたことがすっきり解決できて感激です。有難うございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Access(アクセス) アクセス フォームの自動入力 1 2023/03/20 00:18
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- 年賀状作成・はがき作成 エクセルで作った住所録をワードの差し込み印刷ではがきに印刷したい 3 2022/09/26 15:47
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで更新履歴情報を保存(...
-
アクセス・テーブルの改行につ...
-
クエリ上でフィールド名が2つ...
-
INT関数のバグ?
-
Access 別テーブルにある値を抽...
-
SQL文 この部分はなんていうの...
-
アクセスクエリで英数字のみ半...
-
Access2013 クエリ内別フィール...
-
アクセスの追加クエリで教えて...
-
Accessで1つのフィールドに複...
-
Access フォームで複数テーブル...
-
Access コンボボックスの絞り...
-
Access ルックアップが反映され...
-
テキスト形式だけど「between a...
-
アクセス:SQLでフィールド...
-
日付型のフィールドに空白を入...
-
差込印刷での全角表示について...
-
アクセスのエラー「クエリには...
-
SQL文で パラメータが少なすぎ...
-
テーブルでメモ型になっている...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス・テーブルの改行につ...
-
Access フォーム上でのテキス...
-
アクセスでの、フォームとテー...
-
アクセス: フォーム上で計算...
-
クエリ上でフィールド名が2つ...
-
Accessで更新履歴情報を保存(...
-
アクセスクエリで英数字のみ半...
-
ACCESSのリストボックスで複数...
-
アクセスに自動入力を入れたい
-
アクセスの追加クエリで教えて...
-
Accessでチェックボックスから...
-
Access フォームで複数テーブル...
-
Access 別テーブルにある値を抽...
-
INT関数のバグ?
-
テーブルとクエリの相関図は表...
-
アクセスのテーブルでコードを...
-
アクセス:SQLでフィールド...
-
ACCESSの時刻の引き算
-
Access2013 クエリ内別フィール...
-
Access ルックアップが反映され...
おすすめ情報