• ベストアンサー

Accessコンボボックスについて(初心者)

例えば以下のような2フィールドのテーブルがあり 商品コード 商品名 1111  パソコン   ・     ・   ・     ・ フォームでひとつのコンボボックスを作る際このテーブルを参照し、2フィールドとも表示され、なおかつ入力出来るようにしたいのですが・・。 表示はするものの入力となると商品コードのフィールドのデータしか入力出来ません。 要は商品コードを入力すれば同じレコードの商品名が入力出来るようになれば良いので、別のやり方があればかまわないのですが・・。 良きアドバイスをお願いします。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

コンボボックスでは コンボボックスがとる値(テーブルに格納されるもの)は連結列のもの 表示および入力できるのは表示幅を0以外に設定した左端のものです >要は商品コードを入力すれば同じレコードの商品名が入力出来る >用になれば良いので、 はじめの入力はオペレータが入力するもの 後ろの入力はテーブルに格納されるということ であれば 商品名を連結列とし、フィールドの並びを商品コード、商品名 の順にすればいいでしょう

5244
質問者

お礼

ご回答ありがとうございます。 試しにフォームウィザードでやってみたらリストBoxでしたが近いのが出来ました。工夫すれば何とか出来そうです。 何となくですがイメージが理解しつつあります。 助かります。

その他の回答 (1)

  • oka123
  • ベストアンサー率31% (69/219)
回答No.1

商品コード 商品名 を表示する項目のフォーム内・フイールド名を それぞれ TX1 TX2 と仮にします ---2ツのテキスト項目が有ると思います--- TX1 はボックス型  TX2 はテキストボックス 文面からすると TX1 には 商品コード と 商品名 が同時表示されているのですね 方法は フォーム のデザインで「表示」でプロパティを表示させて そのつぎに TX1 のプロパティを開き そのなかの 更新前処理 のところをクリック、 イベントプロシジァ を選び 右端の3つのピリオドのようなところをクリックして 開く画面のなかに (場所はPrivate Sub TX1_BeforeUpdate(Cancel As Integer)の下段) ME![TX2]=ME![TX1].COLUMN(1) と記載します 意味は TX2 のところへ TX1で指定している2つ目の 項目を移しなさい という意味です もしも COLUMN(0) なら1番目という意味 COLUMN(1) なら2番目という意味

5244
質問者

お礼

ご回答ありがとうございます。 参考になりました。

5244
質問者

補足

ご回答ありがとうございます。ご指摘のとおり修正し、フォームを起動して入力するたびデバッグを促すメッセージが出て、 「実行時エラー=438」とのメッセージが。 VBのエディタへのコピペする際TX1、TX2の箇所も書き換えているのですが・・。

関連するQ&A