什么是VBA中的Recordset? ......它的目的是什么?

时间:2010-02-26 01:40:53

标签: database vba ms-access

VBA中的Recordset是什么?

它的目的是什么?

你如何使用它们?

3 个答案:

答案 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记录集。