フォームに入力されたデータから別のフォームにデータを渡し、そのリソーステーブルに新規レコードを書き込みたい場合があります。
以下の例ではフォームAのサブフォームからある登録IDデータを別のフォームBに受け渡し、続いて受け渡したIDに対する追加データをフォームBで入力し書き込む例です。
Private Sub コマンドbotan_Click()
‘ 自分と同じ登録IDが無ければ Then 新規レコードを登録する
If DCount(“*”, “t_B”, “[登録ID]=Forms![F_A].[F_ASub].Form![ID]”) = 0 Then
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset(“t_B”, dbOpenDynaset)
rs.AddNew
rs!注文書番号 = Forms![F_A]![注文書No]
rs!品名 = Forms![F_A].[F_ASub].Form![品名]
rs!登録ID = Forms![F_A].[F_ASub].Form![ID]
rs.Update
DoCmd.OpenForm “f_B”
Else
‘自分と同じ備品登録IDが存在すればそのレコードを表示
MsgBox (“既に備品登録済です”)
DoCmd.OpenForm “f_B”, , , “[登録ID] =Forms![F_A].[F_ASub].Form![ID]”
Exit Sub
End If
End Sub