问题二 再查询与事务
1.再查询数据
在多用户应用程序中,如果以可视的形式把数据显示在窗口中,则需要用最新的数据来更新用户的视图。而要获得由其他用户修改了的最新视图,应用程序必须显式地对数据执行再查询操作。为了获得记录集中数据的最新视图,首先应确定记录集是否支持Requery方法。如果ReCordset对象的Restartable属性值为Tme,则可以使用Requery方法来刷新Recordset对象的内容。如果记录集不支持Requery方法,则必须用OpenRecordset方法再次打开记录集。一般说来,重新打开记录集比使用Requery方法要慢一些。下面这个过程,用来测试一个记录集是否可执行再查询。
过程如下:
Function RequeryRecordset(dbs As Database,rst As Recordset) As Integer
On Error Resume Next
注释:能够再查询记录集吗?
If rst.Restartable=False Then
requeryRecordset=-1
EXit Function
End lf
rst.Requery 注释:再查询记录集
Select Case Err 注释:处理所有错误
Case 0
RequeryReCordset=0
EXit Function
Case Else
Err=0
注释:重新打开记录集
注释:使用rstNane来获取SQL
注释:字符串、表或QueryDef的值
注释:记录集最初是基于它们的
Set rst=dbs.OpenRecordset(rst.Name, rst.Type)
Select Case Err
Case0
RequeryRecordset=0
EXit Function
Case Else
注释:不返回错误给调用程序
责任编辑:cyth