2017-12-09 3 views
0

私はAccessでVBAで何かしようとしていますが、私が間違っていることはわかりません。アクセス:レコードセットでnレコードを作成する

私はいくつかの番号を書くことができるテキストコントロール(数値)をフォームに持っています。私が望むのは、フォーム内のボタンをクリックすると、テキストコントロール内の数字と同じ数の別のテーブル(フォームのソースではない)のレコードを作成することです。

私はこれをしようとしているが、それは何もしません。

Dim db As Database 
Dim rst As Recordset 

Set db = CurrentDb() 
Set rst = db.OpenRecordset("Table") 

If Not rst.EOF And rst.BOF Then 
    Do While rst.RecordCount < Me.Txt_Control 
     rst.Edit 
      rst.Fields("Field_01") = "Example 1" 
      rst.Fields("Field_02") = "Example 2" 
      rst.Fields("Field_03") = "Example 3" 
     rst.Update 
     rst.MoveNext 
    Loop 
    rst.Close 
End If 

は、誰かが私に手を与えることはできますか?

よろしくお願いいたします。

答えて

2

既存のレコードを編集していますが、新しいレコードは追加していません。また、可能なレコードが存在するレコードセットを開いているので、コードが問題になることがあります。

次を使用することができます。

Dim db As DAO.Database 
Dim rst As DAO.Recordset 

Set db = CurrentDb() 
Set rst = db.OpenRecordset("SELECT * FROM Table WHERE 1=0") 'Open the table, but don't select anything 
Do While rst.RecordCount < Me.Txt_Control 
    rst.AddNew 'Add a new record 
    rst.Fields("Field_01") = "Example 1" 
    rst.Fields("Field_02") = "Example 2" 
    rst.Fields("Field_03") = "Example 3" 
    rst.Update 
Loop 
rst.Close 
関連する問題