我在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
有人可以帮我一把吗?
问候。
答案 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