あるフォームのデータを別のフォームの新規レコードに書き込むには

フォームに入力されたデータから別のフォームにデータを渡し、そのリソーステーブルに新規レコードを書き込みたい場合があります。

以下の例ではフォーム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

タイトルとURLをコピーしました