プロが教える店舗&オフィスのセキュリティ対策術

例えば以下のような2フィールドのテーブルがあり

商品コード 商品名
1111  パソコン
  ・     ・
  ・     ・

フォームでひとつのコンボボックスを作る際このテーブルを参照し、2フィールドとも表示され、なおかつ入力出来るようにしたいのですが・・。

表示はするものの入力となると商品コードのフィールドのデータしか入力出来ません。

要は商品コードを入力すれば同じレコードの商品名が入力出来るようになれば良いので、別のやり方があればかまわないのですが・・。

良きアドバイスをお願いします。

A 回答 (2件)

コンボボックスでは


コンボボックスがとる値(テーブルに格納されるもの)は連結列のもの
表示および入力できるのは表示幅を0以外に設定した左端のものです

>要は商品コードを入力すれば同じレコードの商品名が入力出来る
>用になれば良いので、
はじめの入力はオペレータが入力するもの
後ろの入力はテーブルに格納されるということ
であれば
商品名を連結列とし、フィールドの並びを商品コード、商品名
の順にすればいいでしょう
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/01/27 20:42

商品コード 商品名


を表示する項目のフォーム内・フイールド名を
それぞれ 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番目という意味

この回答への補足

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

補足日時:2007/01/26 23:02
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/01/27 20:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!