あなたにとってのゴールデンタイムはいつですか?

データベース超初心者です。VBAの知識がほとんどないので、初歩的な質問だと思いますが、よろしくお願いします。
フォームは2つ「入力」と、「コード選択」

(1)フォーム「入力」にあるテキストボックス「商品コード」をダブルクリックすると、フォーム「コード選択」を開く

(2)フォーム「コード選択」にあるリストボックス「コードリスト」をダブルクリックすると、商品コードが、フォーム「入力」のテキストボックス「商品コード」に代入される。

ちなみに、コードリストは、2列で、商品コードと商品名が表示されるようになっています。

わかりにくい質問かもしれませんが、どうぞよろしくお願いします。

A 回答 (2件)

コード選択画面のリストボックスの値の保持の仕方によって多少変更が必要になりますが、



入力画面側で

Private Sub テキスト_DblClick(Cancel As Integer)
DoCmd.OpenForm "コード選択" '「コード選択」フォームを開く
End Sub

で「コード選択」フォームを開き、
「コード選択」フォームで

Private Sub リスト_DblClick(Cancel As Integer)
Forms![入力]!テキスト = Me.リスト.Value  '.Text?
  DoCmd.Close acForm, Me.Name '自分のフォームを閉じる
End Sub

こんな感じでしょうか?
    • good
    • 1
この回答へのお礼

ありがとうございます!!
思っていた通りの結果が出ました。
本当に助かりました。
コード選択フォームを閉じるところまで設計されていて、自分の思った以上のフォームになりました。

また機会がありましたら、ぜひよろしくお願いします。

お礼日時:2009/11/28 12:32

私のテストの場合フォームを2つ作った。


フォーム9
フォーム11
ーーー
フォーム9にはテキストボックス(テキスト0)
とコマンドボタン1つ。そのコマンドボタン(コマンド2)のCaptionは[コード選択]とする。
コマンドボタンのクリックイベントに
Private Sub コマンド2_Click()
Me.Visible = False
DoCmd.OpenForm "フォーム11"
End Sub
ーー
フォーム11には
リストボックス(リスト0)を設ける。
そのクリックイベントに
Private Sub リスト0_Click()
MsgBox Forms("フォーム11").リスト0.Value
Forms("フォーム9").Visible = True
Forms("フォーム9").テキスト0.SetFocus
Forms("フォーム9").テキスト0.Text = Forms("フォーム11").リスト0.Value
Me.Visible = False
End Sub
ーーー
フォーム9を表示し、コマンドボタンをクリックするとフォーム11が開き、リストボックスのアイテムを1つクリックして選択すると、フォーム9のテキストボックスに選択したアイテムが表示された。
リストボックスは値リストで1列でテストをやりました。
クエリでアイテムを表示し1列を2列にし、テキストボックスにも
商品コードか商品をセットするよう改良してください(略)
    • good
    • 0
この回答へのお礼

コマンドボタンを作成する方法なのですね。
一度やってみたいと思います。

ありがとうございました。

お礼日時:2009/11/28 12:32

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A