メインフォーム上に設けたサブフォームに関連データを追加する方法
解説
単票フォーム(以下メインフォームと云う)上にサブフォームを設置している形式である。
サブフォームはメ、インフォームの関係するデータのみを表示することが目的になるので、
メインフォームの主キーを外部キーとして持っている状態にある。
ここでサブフォームに新規レコードを追加する方法として、追加用フォームを開いてデータ入力処理
する方法を取り上げてみる。
いまメインフォームに表示されているレコードにサブフォームのレコードを追加しようとする。追加フォームを
開いた時に追加フォームの外部キーに初期値としてメインフォームの主キーの値を取り込めば
自動的にリンク関係が保つことが出来る。その方法を下に示す。
手順
- サブフォームのレコードソースと同じにした単票形式のフォームを作り追加用フォームとする。
- 追加用フォームのデータ入力用プロパティを「はい」に設定する。
- メインフォームとリンクするコントロール(外部キー)の規定値プロパティにはリンク先の
コントロール名を指定する。
(例)規定値コントロール=Forms![フォーム名]![コントロール名] - 追加用フォーム上に保存用コマンドボタンを設ける。クリック時イベントプロシージャには
レコードの保存命令とメインフォームの「Refresh」メソッドを入れる。
Private Sub Cmd_保存_Click()
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 '保存命令
Forms![メインフォーム].Refresh
DoCmd.Close
End Sub
- メインフォーム上にコマンドボタンを作る。そしてクリック時のイベントプロシージャーで 作成した入力用フォームを開く。
- 操作はメインフォームからコマンドボタンを操作することで開始されます。なお、追加入力 用フォームにはキャンセル用のコマンドボタンも設けておきましょう。
(この項終わり)