- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:レコードセットに新規追加する)
Access2013 VBAでレコードセットに新規追加する方法は?
このQ&Aのポイント
- Access2013のVBAを使用して、テーブルのレコードセットに新規追加する方法について教えてください。
- 具体的には、テーブルaにid2が2となるレコードが存在しない場合、生成したレコードセットRecを使用して新しいレコードを追加することができるのか知りたいです。
- ご教示いただけると幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
開示されたレコード定義が列名のみなのでなんとも。 制約はどうしていますか? Null、空文字を受け入れるなら、 レコード追加できますが、値を代入していない列はNullでしょうね。
その他の回答 (1)
- m3_maki
- ベストアンサー率64% (296/460)
回答No.1
Db と Rec は正しく宣言されているものとして。 少なくとも、id2 は値をセットしてあげないと。 Rec.AddNew Rec.Fields("id2").value = 2 Rec.Fields("名前").value = "名前" Rec.Update
お礼
ご回答ありがとうございました。 もう少し勉強しないといけませんね・・・と
補足
ご回答ありがとうございます。 すみません、説明不足でした。 1. テーブルA ・IDa ・名前A 2. テーブルB ・IDb ・IDa ・名前B とあって、1がメインフォーム、2がサブフォームのレコードソースの場合 2のレコードセットを SQL="Select * from テーブルB where IDa = 2" として Set Rec = db.OpenRecordset(SQL, dbOpenDynaset) をした場合に もし、IDa = 2のレコードが、テーブルBに全然ない場合 Rec.AddNew Rec.Fields("IDb").value = 3 (←ID番号3を事前に取得したとして) Rec.Fields("ida").value = 2 Rec.Fields("名前").value = "名前" Rec.Update とすることができるかという質問でした。 お答えから察すると、取得したRecにレコードが何もない場合でも、AddNewで新規レコードを追加できるということでよろしいでしょうか?