访问:使用记录集创建n条记录

时间:2017-12-09 18:52:28

标签: vba ms-access recordset

我在Access中尝试使用VBA,但我看不出我做错了什么。

我有一个文本控件(数字)的形式,我可以写一些数字。我想要的是当我在表单中的一个按钮上单击时,将另一个表中的记录(不是表单的来源)与文本控件中的数字一样多。

我试过这个,但它没有做任何事情:

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

有人可以帮我一把吗?

问候。

1 个答案:

答案 0 :(得分: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