VBA中的Recordset
是什么?
它的目的是什么?
你如何使用它们?
答案 0 :(得分:6)
这是一个很大的问题。简而言之,记录集是从表或查询中选择的记录。根据使用的查询,它可用于添加,编辑,删除和操作记录。可以使用ADO或DAO获取记录集,并且可以相应地具有不同的方法和属性。坚持DAO,这是Access的原生:
Dim rs As DAO.Recordset
Set rs=CurrentDB.OpenRecordset("Select ID, Company From Companies")
rs.Edit
rs!Company="ABC"
rs.Update
rs.AddNew
rs!Company="ABC"
rs.Update
Do While Not rs.EOF
If rs!Company="ABC" Then
''Do something
End If
rs.MoveNext
Loop
Set rs=Forms!SomeForm.RecordsetClone
rs.FindFirst "Company='ABC'"
If Not rs.NoMatch Then
Forms!SomeForm.Bookmark=rs.Bookmark
End If
答案 1 :(得分:2)
记录集基本上是数据的内存容器。您可以使用它来操纵数据或传递数据。
当您在VBA中从数据库中读取数据时,结果将在记录集中(标量数据除外)。
答案 2 :(得分:2)
Gabriel对记录集做了很好的描述。
构建数据库是为了使用集合论来与数据交互,但记录集也是一种在程序上处理数据的方法。这段代码看起来更像编程。 “MoveNext”方法是一个示例,您可以逐步浏览数据并一次处理一个记录。
请参阅Remou的代码以实现DAO记录集。