概要説明
メインフォームにリンクしているサブフォームに新しいレコードを追加する手順です。
※サブフォームを持つフォームの作り方は次のサイトをご覧ください
https://fk-plaza.jp/acs/kiso_b/Manabu_MakeFormSub.htm
フォームが編集不可になっている場合はサブフォームへの追加や編集ができません。
そこで追加入力用フォームを使うことになるが、追加したレコードがメインフォームのレコードにリンクされなければ
なりません。追加フォームのリンクフィールドがメインフォームにリンクできるように設定しましょう。
作成手順
- 入力用フォームの作成
ア.サブフォーム[SF_連絡記録一覧]と同じレコードソースにした単票式のフォームを作成します。(上図)
イ.リンクしている[名簿番号]コントロールの規定値のプロパティにメインフォーム[F_名簿メイン]の 主キーとなっているコントロールの値を指定する。
(例) =[Forms]![F_名簿メイン]![番号]
ウ.データ入力用プロパティを「はい」に設定
エ.フォーム上の「登録」コマンドボタンにプロシージャを記述します。
Private Sub cmd_登録_Click()
' データを保存してフォームを閉じます。
DoCmd.Close
' メインフォーム上のサブフォームを更新します
Forms!F_名簿メイン!SF_連絡記録一覧.Form.Requery
End Sub
- メインフォーム上にコマンドボタンを作成する。
ア.コマンドボタンに作成した「連絡記録入力」ボタンにプロシージャを設定する。
Private Sub cmd_連絡記録入力_Click()
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "F_連絡記録入力"
DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormAdd, , "追加"
End Sub
- 動作させてみる。
ア.コマンドボタンで入力用フォームを開く。
イ.リンクしているコントロールにはメインフォームと同じ値が表示されている。
ウ.フォームに必要な入力を行い。フォームを閉じればレコードの追加が完了です。
(この項終わり)