- 締切済み
Microsoft Access 2000
2つのフォームで一方の値をもう一方のフォームに代入したいのです。 方法はコマンドボタンを押すことによって、AフォームからBフォームに2項目同時に同じレコードに代入したい。コマンドボタンに“値の代入マクロ”を設定します。 Aフォーム 代入したい項目のデータ型=2つともオートナンバー型(AN項目,AG項目) レイアウト=2つともリストBOX(1列目がAN項目,AG項目) Bフォーム 代入されたい項目のデータ型=2つとも長整数型(BN項目,BG項目) レイアウト=2つともテキストBOX 現状はAフォームの2つの項目のどちらか1つしか代入できません。 Aフォームの代入したい項目は新レコードではなく、既にデータが入力されているレコードのIDをBフォームの新レコードに代入したいのです。 コマンドボタンを押すとエラーは表示されず、フォームは正常に閉じます。しかし、テーブルを見るとどちらか一方のレコードにはデータが入力されていないのです。 代入されたいBフォームは、常に新レコードで主キーは設定していません。Bフォームに代入されるAN項目・AG項目の値は、その他のレコードの値と重複しています。 いきずまって困っているので、みなさんの力をお借りできたらと思って書き込みました。イメージが湧きにくいとは思いますが、よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hamha
- ベストアンサー率61% (83/135)
Aフォーム、Bフォーム共開いた状態で Aフォームのリストボックスの名前が「リスト0」とした場合 “値の代入マクロ” ------------------------------------------------- アクション 値の代入 アクションの引数 アイテム:[Forms]![Bフォーム]![BN] 式 :[Forms]![Aフォーム]![リスト0].[Column](0) ------------------------------------------------- アクション 値の代入 アクションの引数 アイテム:[Forms]![Bフォーム]![BG] 式 :[Forms]![Aフォーム]![リスト0].[Column](1) ------------------------------------------------- これでOKです。
お礼
お答え頂いてありがとうございます。試してみましたが駄目でした。 原因が何なのか不明です。解決できなかったので点数は付けませんでした。 ご了承願います。また機会がありましたら回答の方、よろしくお願いします