- ベストアンサー
Access コンボボックスについて
やり方がわからないので教えてください。 Access2003を使っているのですが、フォーム上に設定したコンボボックスから、あるテーブルの3列目を抽出したいのですが、どのように設定するのか分かりません… 自動的に1列目が抽出されてしまいます。 コンボボックスのプロパティの中に何列目かを指定する部分が内容に思うのですが…
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
やり方は2通りあると思います。 A)そのフィールドだけを表示させるクエリを作成し、それを値集合ソースに設定 B)コンボボックスの設定で対応 A)は、説明不要かと思いますので、以下、B)の方法を説明します。 なお、値集合ソース、値集合タイプなどは既に設定されている前提としました。 1)フォームをデザインビューで開く 2)設定を行うコンボボックスを選択し、プロパティシートを開く 3)「書式」タブの「列数」を設定する (テーブルの3番目のフィールドを表示させるなら、「3」を設定) 4)同タブの「列幅」を設定する (上記のフィールドを表示させる場合は「0;0;5」と設定すると、 自動で単位が追加されます。「5」は必要に応じて変えて下さい) 5)「データ」タブを選択し、「連結列」を設定 (上記フィールドの値を保存するのであれば「3」を、もし、1列目がIDなどで、 この値を保存する場合は「1」を設定) 6)フォームを保存 ・・・以上です。 なお、テーブルのフィールドが例えば「ID,商品名,メーカー名」となっていて、 通常は「商品名」を表示、リストをプルダウンした場合には「メーカー名」も 確認できるようにし、保存はIDにしたい、といった場合は「A」と「B」の方法 を複合させます。 つまり、「商品名,メーカー名,ID」の順に表示させるクエリを作成した上で、 列数=3 列幅=5;5;0 (IDも表示させるなら「5;5;3」等) 連結列=3 と設定すればOKです。
その他の回答 (3)
- CHRONOS_0
- ベストアンサー率54% (457/838)
使用されている用語が適切でないので質問の真意が伝わってきませんが 初心者がよく陥る点という所から推測してお答えしますね コンボボックスでは表示されているものとコンボが返す値は別物です コンボが取る(返す)値は連結列に指定した列の値 コンボが表示するのは表示幅を0以外に指定した左端の列です コンボのソースが 商品ID、商品名、単価 という3列のものであったとした場合 列数:3 連結列:1 表示幅:0cm;2cm;2cm と設定すれば コンボボックスには商品名が表示され (ドロップダウンしたときには、単価も表示される) コンボの取る値は商品IDになります ということで >コンボボックスのプロパティの中に何列目かを指定する部分 これは連結列です
- naolich
- ベストアンサー率41% (7/17)
普通、コンボボックスの作成時にウイザードで、どのテーブルを使って、 どのフィールドを使うか設定するようになっているんですけどね。 変更するには、コンボボックスのプロパティの「データ」タブ(もしくは「すべて」タブ)の 値集合タイプ:「テーブル/クエリ」を選択 値集合ソース: (白い入力枠内をクリックすると右に「…」ボタンが出ますので、クリック。設定するフィールドを変更。 「表示」メニューの「集計」をクリックしておく。 「テーブル」行の下に「集計」行が追加され、「グループ化」になっていることを確認。) そうすれば、設定可能ですが・・・。 もしも、それが出来ないのであれば、Accessをもう一度インストールし直す必要があるかもしれませんね。 的外れな回答になってしまったらゴメンナサイ。
- a3453a
- ベストアンサー率28% (132/460)
プロパティの値集合ソースの 項目名を変更すればいいと思います (ACCESS2000での例ですが) ------------------------------------ だめなら新規にコンボボックスを作成すれば ウイザードでうまく作れるとおもいます