• ベストアンサー

access 検索結果をテキストボックスに表示させる方法

過去の質問見たのですが、どうもうまくできません。 現在の状況ですが、 「商品」「詳細」テーブルがあります。 各レコードの商品にはユニークなコードを付番してあります。 現在、詳細フォームを作成中です。 この、詳細フォーム上にテキストボックスを作成、コード入力をします。 次に検索ボタンを押した時、同じ詳細フォーム上の「名称」「規格」・・などのフィールドに商品テーブルの内容を自動入力させたいのです。 意味、わかりますでしょうか。 なんか、色々試して混乱してきてしまいました。 初心者です。よろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

始めのテキストボックスをコンボボックスにすれば簡単です。 コンボボックスの 2 列目のデータの値を取得する方法 http://support.microsoft.com/default.aspx?scid=kb;ja;879798 それ以外だと、検索ボタンのクリックイベントで フィールド名=Dblookup("フィールド名","テーブル名","[コード]='" & Me.テキストボックス名 & "'") で各フィールドに値をセットになります。

htsc
質問者

お礼

商品データが1000件をゆうに超えているので、コンボボックスで選択は避けたかったのです。 教えて頂いた方法DLookup(Dblookupとなっていたのでエラーとなり少し悩みましたが)でうまくいきました。 これまでは他のフォームにデータを受け渡したりしてややこしいことになってました。 これは便利です。目からうろことはこういう事を言うのですね。 ありがとうございました!!

その他の回答 (1)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

#1の方の書いてあるようにコンボボックスを使うのが簡単です。 コンボボックスを作る際にウィザードが出ますので詳細テーブルを指定し順次進めれば出来ます。 例えば ウィザードで詳細テーブルからコード・名称・規格・単価を選択しコンボボックス自体はコードを保存するとして フォーム上の名称・規格・単価の各テキストボックスにレコードの内容を表示させるには コンボボックスの更新後処理でコンボボックス名をコンボ1とした場合 Private Sub コンボ1_AfterUpdate()  名称=コンボ1.Column(1) 規格=コンボ1.Column(2)  単価=コンボ1.Column(3) End Sub で各テキストボックスに表示させることが出来ます。 コンボの列幅・行数等はプロパティで設定できますので試してみてください。

htsc
質問者

お礼

ありがとうございます。 コンボボックスの使い方も勉強になりました。 今回はDLookupを使うこととさせていただきました。 また何かわからないことがあったらお願いします。

関連するQ&A