• 締切済み

Accessのデータベースのコンボボックスの記載

AccessのVBAのコンボボックスのデータベースのレコードの非表示の仕方と表示する値と取得する値を変える方法が知りたいです。 例えばSQL分でテーブルの中の商品コードカラムと商品名カラムを抽出し、値をコンボボックスに入れるとします。この時商品コードの方は値だけ持たせて非表示にし、商品名だけが表示されるようにしたいです。 そして表面上で商品名が選ばれた時、非表示の商品コードの値の方が選択されるようにしたいのですがどうコーディングしたらいいのかわからないです。 ネットでも調べてみましたがフォームで設定する方法しか見つけられませんでした。VBAで記載するようにとの指定があるのでVBAで記載するようにしたいです。 VBAではどのように書いたらいいのでしょうか

みんなの回答

  • cicibo
  • ベストアンサー率34% (190/557)
回答No.2

コンボボックスの列数は(商品コード、商品名)の2ですよね。 商品コードを非表示にするのではなく、長さをゼロ(もしくは、限りなく狭い列幅)にして、実質非表示になるようにされてはどうでしょうか。 参考にしてください。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

質問の表現が、ごたごたして、分かりにくい。 ーー 例えば、https://pc.arthhuman.com/combo/ を読んで、その通りやってみて、聞きたい点は、書いてあるケースとどこが違うか見つけて 質問しなおしたら。し直さなくても、上記記事で尽きているのだはないかと思うが。 上記は、Googleで「access VBA 多列コンボボックス」で照会して見つけた。ほかにも、記事が出る。 これらを、例の作成もふくめて、長くなるから、1からここでは記述できないから、質問者が勉強して、質問の的を絞れ。

関連するQ&A

  • Accessのコンボボックスの使い方について

    初心者です。 コンボボックスの使い方について教えて下さい。 商品テーブルA 商品名|コードA|コードB|コードC| マスターテーブル A|B|商品名|コードA|コードB|コードC|D|E のような2つのテーブルを作成し、マスターテーブルの「商品名」に コンボボックスで商品テーブルAの商品名を表示させるとします。 そこでコンボボックスで商品名を選択すると同時に 商品テーブルAからほかの「コードA」「コードB」「コードC」の値を マスターテーブルの「コードA」「コードB」「コードC」に入れる方法は ありますでしょうか? また、他の方法はありますでしょうか? 宜しくお願い致します。

  • Access コンボボックスを使って抽出

    Access2000・Windows2000を使用しています。 レコードの抽出をしたいと思います。テーブルは1つ、フィールドには日付・商品名・業者名・単価・・・とあります。フォームで「商品名から抽出(コンボボックスから商品を1つ選ぶ)」または「業者名から抽出(コンボボックスから業者を1つ選ぶ)」(コンボボックスから商品を1つ選ぶ)出来るようにし、なおかつ今月のレコードのみ表示させたいのですが、まずそのテーブルを1つ作成した時点でつまづいてしまっています。 どなたかご教授お願いします。

  • ACCESSでコンボボックスが作れません

    ACCESS2000のフォーム内に抽出クエリを元にしたコンボボックスを作成しようとしているのですが、「1つ以上の必要なパラメータの値が設定されていません」と表示され作成できません。元になる抽出クエリを開くと、コンボボックスに表示したいデータが表示されているのですが、上記エラーがでてコンボボックスが作成できない状態です。どなたか解消方法がおわかりの方教えてください。宜しくお願いします。

  • ACCESS2000でのActiveXのコンボボックスの使い方について

    ACCESS2000で、今まで使用していたコンボボックスをActiveXコントロール(Microsoft Forms2.0)のコンボボックスに変更しようとしています。今までは値集合ソースでクエリを使って「商品名」「商品コード」を表示させ、選択後に商品コードを取得して、他で利用しています。 これをActiveXコントロールでは、どのように行ったらよいのでしょう? アドバイスをどうか、よろしくお願いします。

  • Accessのコンボボックスの設定について(値集合ソース)

    フォームのコンボボックスに表示させたい値を 値集合ソースにてSQLを直接書いています。 例を挙げますと、 テーブル:CstmTBL 項目:Cstm_ID,Cstm_Name,FLG 値集合ソース:SELECT Cstm_ID FROM CstmTBL Where FLG = '1' ここまでであればうまくいきます。 私がやりたいのは、 このFROM句のテーブルを上位(例えば上位のコンボボックスで指定したテーブル名)で設定し、 そこで設定されたテーブルを毎回そのSQLに埋め込んで抽出されるようにしたいのですが、うまくいきません。VBAを書かないとだめでしょうか? 書くとすれば、書き方も教えていただけますか? よろしくお願いいたします。

  • コンボボックスについて

    Access初心者です。 コンボボックスの一行目にハイフン、もしくは 何も値の入っていない行を表示させたいと思っています。 今は下のようなかたちで値をセットしているのですが、 どうやればできるのか良い方法が思いつきません。 Me!コンボボックス名.RowSource = "SQL文" こういう形式を使うのは無理なのでしょうか? すみませんがよろしくお願いします。 (Windows2000 & Access2000です。)

  • access2003コンボボックスの質問です

    Access2003+sql2005で コンボボックスのテーブルに顧客マスタ(顧客コード+顧客名)を値集合にセットしています。 最大レコード件数を10万にしているのですが、中身はちょうど1万件しか入ってきません。 コンボボックスは1万件が最大なのでしょうか? ご存知の方、教えて下さい。

  • コンボBOXで抽出した値をテキストBOXに表示したい

    入力用フォームで注文フォームを作成しているのですが、コンボBOXで商品Noを抽出し、テキストBOXに商品名を表示したいのですが、 Private Sub コンボ1_AfterUpdate() Me!テキスト1 = Me!コンボ1.column(1) End Sub と入力したのですが、他の行にも同じ商品名が表示されます。 商品NoをコンボBOXで指定し、数量を手入力という入力フォームを作成したいのです。 作成方法を教えてください。 よろしくおねがいします

  • アクセスのコンボボックスの重複をなくすには?

    初歩的な質問ですいませんが、教えてください。 アクセスの参考書や、初心者向けサイト等を見て、 コンボボックスで値集合タイプが「テーブル/クエリ」のとき値集合ソースの値を重複させないで表示する方法はわかったのですが、どの書籍もコンボボックスが2個までしかのっていないんです。 現在私が作らなければならないのはコンボボックスが6個在るもので2個目以降からどのようにしたらいいかわかりません。 コンボ1で抽出した値をコンボ2で反映させて、さらにコンボ2の値の重複をなくし、さらにコンボ3で反映させて・・・とやっていくにはどうしたらいいのでしょうか。 ちなみに http://www.accessclub.jp/beginer/cd/part_07.htm 上記サイトの方法を参考に作成しています。 よろしくお願いします。

  • Access コンボボックスの2列目が表示されない

    Accessでフォームを作っています。テキストボックス「列車名」に文字列を入力するとコンボボックス「列車コード」のデータが絞り込まれるようにVBAコードを書いていますが、「列車名」を空欄にすると「列車コード」の2列目が表示されません。表示されるようにするにはどうすれば良いですか。