- ベストアンサー
ACCESSの顧客氏名コンボボックスの設定方法
- 現在、ACCESSの勉強中の方が基礎的なデータベースファイルを作成しています。その中で、「顧客マスター」というフォーム上に顧客情報を入力するテキストボックスを配置しています。そこで質問なのですが、新たに「顧客氏名」というコンボボックスを配置して、すでに入力された顧客情報からコンボボックスで選択できるようにしたいのですが、どのような方法がありますか?
- ACCESSの勉強中の方が「顧客マスター」というフォーム上に顧客情報を入力するテキストボックスを配置しています。質問なのですが、新たに「顧客氏名」というコンボボックスを配置して、すでに入力された顧客情報からコンボボックスで選択できるようにしたいのです。方法を教えていただけませんか?
- ACCESSの勉強中の方が「顧客マスター」というフォームを作成しています。そこで質問なのですが、新たに「顧客氏名」というコンボボックスを配置して、すでに入力された顧客情報からコンボボックスで選択できるようにしたいのです。どのような方法がありますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> コンボボックスのプロパティのコントロールソース(又は値集合ソース,値集合タイプ)の > 記述でなんとかできるものでしょうか? 可能です。 仮に、テーブル名が「T_顧客マスタ」、フィールド名はフォームのテキストボックス名と同じ だとした場合、コンボボックスのプロパティを以下のように設定します: 【書式】タブ内 ・『列数』=「2」 (コンボボックスに2フィールドを表示したい場合) ・『列幅』=「3;6」 (コンボボックスをドロップダウンした際のサイズを、1フィールド目を3cm、2フィールド目を 6cmで表示したい場合) ※単位「cm」は自動で追加されます。 ・『リスト幅』=「9.5」 (コンボボックスのドロップダウンリストに水平方向のスクロールバーを表示したくない場合、 「上記『列幅』の各列の幅の合計+垂直スクロールバー分の0.5cm」を設定。水平 スクロールバーがあってもいいなら「自動」でOk) 【データ】タブ内 ・『値集合タイプ』=「テーブル/クエリ」(=初期設定のまま) ・『値集合ソース』=”対象フィールドだけを表示するようにしたクエリ”を作成してその名前を 指定するか、以下のSQL文を入力します: Select T_顧客マスタ.顧客氏名漢字, T_顧客マスタ. 顧客氏名ふりがな From T_顧客マスタ; ※『値集合ソース』欄を選択した際に右端に表示される『...』(ビルダ)ボタンをクリックすると クエリのデザインビューと同じものが表示されるので、そこで当該テーブルを指定して、 対象2フィールドを選択してもOk(上記と同様のSQL文が設定されます) ・『連結列』=「1」(実際にコンボボックスに記録される値を1フィールド目のものにする場合) ・・・以上です。 但し、『顧客氏名漢字』と『顧客氏名ふりがな』が全く同じ顧客がいた場合には、上記の 設定のみでは支障があります(どちらの顧客を選んでも、ドロップダウンリストでより上側に ある顧客が選択された扱いにされてしまいます)。 これを回避するには、コンボボックスでの表示フィールドに、各顧客を識別できる『顧客ID』の ようなフィールドを追加してやった上で、連結列もこのフィールドになるようにしてやる必要が ありますので、ご注意下さい。
お礼
非常にわかりやすく丁寧にご説明いただきありがとうございました。 大変参考になりました。