- 締切済み
リストボックスで選択したレコードの表示
受注管理システムをAccess2000で開発しています。商品選択のリストボックスのみのフォームを作成、その商品をダブルクリックすると、例えば受注入力のフォームに自動的に商品IDが入っていくようにしてあるのですが、この商品選択のフォームを、別のフォームでも使いたいのです。商品の原価入力フォームとか。だけれども、商品選択フォームダブルクリックのところに[Forms]![受注入力フォーム名].[code] = [Forms]![商品選択フォーム名].[interior]というようにフォーム名を書いてしまっているので、使いまわしはできないのでしょうか?どういう条件を書けば、違うフォームにもダブルクリックすると商品IDが入っていくのでしょうか?教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tom777
- ベストアンサー率77% (14/18)
違うフォームでも、商品IDを入れるのはテキストボックスですよね? フォームでダブルクリックする時にグローバル変数にコン トロールを設定し、リストの設定時にそのコントロールの テキスト(バリュー)にデータを設定してやればいいので はないでしょうか? '***** グローバル変数 ***** Public SyohinCtrl As Control '***** ダブルクリック時 ***** Set SyohinCtrl = Me.txtCtrl1 '***** リストのダブルクリック時 ***** SyohinCtrl.Value = "値" で、どうでしょうか?
- yanmaa
- ベストアンサー率45% (207/457)
さてなにを元に飛び先フォームを判断するのでしょうか? 呼び元の画面? 商品選択の画面? 呼び元の画面ならグローバル変数にでも呼び元フォーム名でも入れて(呼び元で処理をします。) SELECT CASE文で分岐処理で可能なはずです。 例 SELECT CASE グローバル変数 CASE "受注入力フォーム" [Forms]![受注入力フォーム名].[code] = [Forms]![商品選択フォーム名].[interior] CASE "原価入力フォーム" [Forms]![原価入力フォーム].[code] = [Forms]![商品選択フォーム名].[interior] CASE ELSE '例外処理があれば END SELECT
補足
すみません。もう少し教えてください。 各フォームで商品選択ボタンをクリックして、同一の商品選択フォームを呼び出すとき、 どのフォームに呼ばれたか、呼び元フォーム名を変数に代入するやり方を教えて下さい。 お願いします。
お礼
ありがとうございました。試してみます。