• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:レコードセットに新規追加する)

Access2013 VBAでレコードセットに新規追加する方法は?

このQ&Aのポイント
  • Access2013のVBAを使用して、テーブルのレコードセットに新規追加する方法について教えてください。
  • 具体的には、テーブルaにid2が2となるレコードが存在しない場合、生成したレコードセットRecを使用して新しいレコードを追加することができるのか知りたいです。
  • ご教示いただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

開示されたレコード定義が列名のみなのでなんとも。 制約はどうしていますか? Null、空文字を受け入れるなら、 レコード追加できますが、値を代入していない列はNullでしょうね。

superwonderful
質問者

お礼

ご回答ありがとうございました。 もう少し勉強しないといけませんね・・・と

superwonderful
質問者

補足

ご回答ありがとうございます。 すみません、説明不足でした。 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で新規レコードを追加できるということでよろしいでしょうか?

その他の回答 (1)

  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.1

Db と Rec は正しく宣言されているものとして。 少なくとも、id2 は値をセットしてあげないと。 Rec.AddNew Rec.Fields("id2").value = 2 Rec.Fields("名前").value = "名前" Rec.Update

関連するQ&A