您所在的步骤...
? | 连接数据源。 |
? | 可选择创建表示 SQL 查询命令的对象。 |
? | 可选择在 SQL 命令中将值指定为变量参数。 |
? | 执行命令。如果命令以行返回,将行存储在存储对象中。 |
? | 可选择对数据进行定位、检查、操作和编辑。 |
? | 适当情况下,可以使用存储对象中的变更对数据源进行更新。可选择在事务处理中嵌入更新数据。 |
? | 在使用事务之后,可以接受或拒绝在事务中所做的更改。结束事务。 |
讨论
大量 Recordset 对象方法和属性可用于对 Recordset 数据行进行检查、定位以及操作。
Recordset 可看作行数组,在任意给定时间可进行测试和操作的行为“当前行”,在 Recordset 中的位置为“当前行位置”。每次移动到另一行时,该行将成为新的当前行。
有多种方法可在 Recordset 中显式移动或“定位”(Move 方法)。一些方法(Find 方法)在其操作的附加效果中也能够做到。此外,设置某个属性(Bookmark 属性)同样可以更改行的位置。
Filter 属性用于控制可访问的行(即这些行是“可见的”)。Sort 属性用于控制所定位的 Recordset 行中的顺序。
Recordset 有一个 Fields 集合,它是在行中代表每个字段或列的 Field 集,可从 Field 对象的 Value 属性中为字段赋值或检索数据。作为选项,可访问大量字段数据(GetRows 和 Update 方法)。
在本教程中,您将要:
? | 假定将区号为“415”局号并以“5”开头的电话号码更改为虚构的区号“777”。 |
? | 在 au_lname Field 对象的 Properties 集合中设置 Optimize 属性以提高存储和筛选性能。 |
? | 按作者的姓对 Recordset 使用 Sort(排序)操作。 |
? | Filter(筛选)Recordset,使作者电话区号为“415”、局号为“5”的行成为仅可访问(即可见的)行。 |
使用 Move 方法从头至尾对经过排序和筛选的 Recordset 定位。当 Recordset EOF 属性表明已经到达最后一行时停止。在 Recordset 中移动时,显示作者的姓和名以及原始电话号码,然后将 phone 字段中的区号改为“777”。(phone 字段中的电话号码格式为“aaa xxx-yyyy”,其中 aaa 为区号,xxx 为局号。)
rs("au_lname").Properties("Optimize") = TRUE
rs.Sort = "au_lname ASC"
rs.Filter = "phone LIKE '415 5*'"
rs.MoveFirst
Do While Not rs.EOF
Debug.Print "Name: " & rs("au_fname") & " " rs("au_lname") & _
"Phone: " rs("phone") & vbCr
rs("phone") = "777" & Mid(rs("phone"), 5, 11)
rs.MoveNext
Loop
下一页 步骤 5