<SPAN style="FONT-SIZE: 18px">  Set db=DBEngine.Workspaces(0).OpenDatabase(“Students.MDB”)
  Set rs=db.OpenRecordset(“students”,dbOpenTable) ‘表的名字也叫students
  rs.AddNew   ‘增加一条新记录,如果是修改原有记录,则使用Edit方法
  With rs
   .Fields(“XH”)=CLng(970111)
   .Fields(“XM”)=”张思强”
   .Fields(“XB”)=”男”
   .Fields(“BORN”)=”河北石家庄”
   .Fields(“BIRTH”)=”1980-1-1”
  End With
  rs.Update        ‘修改或者增加新纪录后,必须更新数据库才能保存
  rs.Close   ‘关闭记录集
  db.Close   ‘关闭数据库
</SPAN>

  Recordset对象中所含的Fields集合包含了一个记录的各个字段,Fields集合中没有若干个Fields对象,Fields对象的Value属性代表了当前记录的该字段的值,上例中并没有写成像Fields(“XH”).Value或者Fields(0).Value这种形式,是因为Value属性是对象的默认属性,在编写代码时可以省略。对于基本类型的数据可以至今进行赋值,对于超长类型的数据,如歌曲、电影、图片则需要用Field对象的AppendChunk方法和GetChunk方法来进行处理。

  3、记录集的种类

  Recordset对象有3中类型,即表(table)、动态集(dynaset)、快照(snapshot)。

  表类型的Recordset对象是指当前数据库中的表在创建表类型的记录集时数据库引擎打开的表。后续的数据操作都是直接对表进行的。只能对单个的表打开表类型的记录集,而不能对连接或者联合查询打开表类型的记录集。与其他类型的Recordset对象相比,表类型的搜索与排序速度快。

  动态集类型的Recordset对象可以是本地的表,也可以使返回的行查询结果。它实际上是对一个或者几个表中的记录的一些列引用。可用动态集从多个表中提取和更新数据,其中包括连接的其他数据库中的表。动态类型具有一种与众不同的特点:不同数据库的可更新连接。利用这种特性,可以对不同类型的数据库中的表进行可更新的连接查询。动态集和他的基本表可以互相更新。如果动态集中的记录发生改变,同样的变化也将在基本表中反映出来。在打开记录集的时候,如果其他的用户修改了基本表,那么动态集中也将反映出被修改过的记录。动态集类型是灵活的,也是功能强的Recordset类型。

  快照类型的Recordset对象包含的数据是固定的,它反映了在产生快照的一瞬间数据库的状态。从Microsoft Jet数据源得到的快照是不可更新的,从开放数据库互连(ODBC)数据源得到的某些快照是可以更新的,这取决于所有数据库系统本身的能力。与动态集类型和表类型的Recordset对象相比,快照的处理开销较少。因此,它执行查询和返回数据的速度更快,特别是在使用ODBC数据源时。快照类型保存了表中所有记录的完整复本,因此,如果记录的个数很多,快照的性能将比动态集慢的多。

  使用什么记录集,取决于需要完成的任务是要更改数据还是简单地查看数据。例如,如果必须对数据进行排序或者使用索引,可以使用表。因为表类型的Recordset对象是可以索引的,它定位数据的速度是快的。如果希望能够对查询选定的一系列记录进行更新,可以使用动态集。如果在特殊的情况下不能使用表类型的记录集,或者只需对记录进行扫描,那么使用快照类型可能会快一些。