• 締切済み

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項目の値は、その他のレコードの値と重複しています。 いきずまって困っているので、みなさんの力をお借りできたらと思って書き込みました。イメージが湧きにくいとは思いますが、よろしくお願いします。

みんなの回答

  • hamha
  • ベストアンサー率61% (83/135)
回答No.1

Aフォーム、Bフォーム共開いた状態で Aフォームのリストボックスの名前が「リスト0」とした場合 “値の代入マクロ” ------------------------------------------------- アクション 値の代入 アクションの引数 アイテム:[Forms]![Bフォーム]![BN] 式   :[Forms]![Aフォーム]![リスト0].[Column](0) ------------------------------------------------- アクション 値の代入 アクションの引数 アイテム:[Forms]![Bフォーム]![BG] 式   :[Forms]![Aフォーム]![リスト0].[Column](1) ------------------------------------------------- これでOKです。

atsusi
質問者

お礼

お答え頂いてありがとうございます。試してみましたが駄目でした。 原因が何なのか不明です。解決できなかったので点数は付けませんでした。 ご了承願います。また機会がありましたら回答の方、よろしくお願いします

関連するQ&A