• 締切済み

リストボックスで選択したレコードの表示

受注管理システムをAccess2000で開発しています。商品選択のリストボックスのみのフォームを作成、その商品をダブルクリックすると、例えば受注入力のフォームに自動的に商品IDが入っていくようにしてあるのですが、この商品選択のフォームを、別のフォームでも使いたいのです。商品の原価入力フォームとか。だけれども、商品選択フォームダブルクリックのところに[Forms]![受注入力フォーム名].[code] = [Forms]![商品選択フォーム名].[interior]というようにフォーム名を書いてしまっているので、使いまわしはできないのでしょうか?どういう条件を書けば、違うフォームにもダブルクリックすると商品IDが入っていくのでしょうか?教えてください。

みんなの回答

  • tom777
  • ベストアンサー率77% (14/18)
回答No.2

違うフォームでも、商品IDを入れるのはテキストボックスですよね? フォームでダブルクリックする時にグローバル変数にコン トロールを設定し、リストの設定時にそのコントロールの テキスト(バリュー)にデータを設定してやればいいので はないでしょうか? '***** グローバル変数 ***** Public SyohinCtrl As Control '***** ダブルクリック時 ***** Set SyohinCtrl = Me.txtCtrl1 '***** リストのダブルクリック時 ***** SyohinCtrl.Value = "値" で、どうでしょうか?

maokubo
質問者

お礼

ありがとうございました。試してみます。

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

さてなにを元に飛び先フォームを判断するのでしょうか? 呼び元の画面? 商品選択の画面? 呼び元の画面ならグローバル変数にでも呼び元フォーム名でも入れて(呼び元で処理をします。) SELECT CASE文で分岐処理で可能なはずです。 例 SELECT CASE グローバル変数 CASE "受注入力フォーム" [Forms]![受注入力フォーム名].[code] = [Forms]![商品選択フォーム名].[interior] CASE "原価入力フォーム" [Forms]![原価入力フォーム].[code] = [Forms]![商品選択フォーム名].[interior] CASE ELSE '例外処理があれば END SELECT

maokubo
質問者

補足

すみません。もう少し教えてください。 各フォームで商品選択ボタンをクリックして、同一の商品選択フォームを呼び出すとき、 どのフォームに呼ばれたか、呼び元フォーム名を変数に代入するやり方を教えて下さい。 お願いします。

関連するQ&A