• 締切済み

ACCESS フォームからフォームへの連携

例えば  A_テーブル(フィールド:会員NO・顧客名・連絡  先)でのA_フォーム上でコマンドボタン「B」を  作成しています。ボタンをクリックすると   Docmd. OpenForm"B_フォーム" が実行されます。  実行され新しく開いた  B_フォーム(フィールド:管理NO・会員NO・備考) の会員NOの中に、その時開いていたA_テーブルの会 員NOが入っている状態にすることは可能でしょう  か? 乱文で大変申し訳ありません。 現在顧客管理のデータベースを作りはじめましたが なにぶん手探り状態ですので、今後ともよろしくお 願いいたします。 ( WindowsXP : Access2000)

みんなの回答

  • yoisho
  • ベストアンサー率64% (331/516)
回答No.4

maruru01さんのおっしゃるように、 B_フォーム に抽出条件を設定して開く方法でしたら、 A_フォーム の記述は、 DoCmd.OpenForm FormName:="B_フォーム", WhereCondition := "会員NO = " & CStr(Me!会員NO) または、 DoCmd.OpenForm "B_フォーム", , , "会員NO = " & CStr(Me!会員NO) B_フォーム で、([次のレコード]ボタン等で)他のレコードにも移動する必要があるなら、 A_フォーム で、 DoCmd.OpenForm FormName:="B_フォーム", OpenArgs:=CStr(Me!会員NO) として、 次に、Bフォームの読み込み時イベントに、以下のコードを記述してください。 Private Sub Form_Load() '会員NO のテキストボックスへフォーカスを移す Me![会員NO のテキストボックス名].SetFocus ' A_フォームで指定した 会員NO のレコードへ移動 DoCmd.FindRecord OpenArgs End Sub HELP で、OpenForm メソッド、OpenArgs プロパティ、Load イベント、FindRecord メソッド を確認してみてください。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

エラーの出た行を教えて下さい。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 B_フォームの[会員NO]は非連結で、A_フォームの会員NOの値を単に入力したいということでしょうか。 それなら、 DoCmd.OpenForm "B_フォーム", , , , , ,Me!会員NO として、B_フォームのLoadイベントで、 Me!会員NO.Value = Me.OpenArgs とすれば出来ると思います。 もし、B_フォームが何かのテーブルと連結していて、A_フォームで選択した会員NOのデータを表示したいのなら、 DoCmd.OpenForm "B_フォーム", , ,"会員NO = '" & Me!会員NO & "'" となります。

riroyou2
質問者

補足

早速のご回答ありがとうございます。 すぐに試して見ましたが  「コンパイルエラー    修正候補:ステートメントの最後」 と返されました。

  • redsky
  • ベストアンサー率18% (66/360)
回答No.1

できますよ。 BフォームのソースレコードをAフォームのそれと同じにすれば いいのではないでしょうか? BフォームのフォームプロパティのデータタブのレコードソースをAフォーム と同じにすればOKです。

関連するQ&A

専門家に質問してみよう