VB中data控件的Recordset的Bookmark属性怎么用?
1个回答
展开全部
这是个长整形数,一个记录的唯一标识,如果你临时移动一下记录指针,等处理后又要回到原有的记录处,可以使用Bookmark。先把它保存在一个变量中,事后把变量值赋给该属性就可以定位到该记录。 这只限于同一个记录集中。
追问
可以提供一个具体的例子吗
追答
怎么用倒是很简单,关键有什么必要,
Dim ar
Private Sub Command1_Click()
Dim mBookmark As Variant '帮助上介绍是变体型,就定义变体型吧,
mBookmark = Data1.Recordset.Bookmark
ar = Data1.Recordset.GetRows() '我记得把记录集转换为数组返回这个方法会改变记录指针
PrintArray ar
Data1.Recordset.Bookmark = mBookmark '所以执行完后把当前记录设置到原来位置
'另外还有一个属性 Data1.Recordset.AbsolutePosition 返回当前记录的记录号,也可以用来定位指针,但是这个仅反映了当前记录的所在位置,如果对记录集增加或删除操作后,位置会发生变动。
'但Bookmark看上去也像是个数字系列号,但一旦生存始终与该条记录捆绑在一起的。
End Sub
Private Sub PrintArray(ar)
Dim Row As Long
Dim Col As Integer
For Row = 0 To UBound(ar, 2)
For Col = 0 To UBound(ar, 1)
Print ar(Col, Row), ;
Next
Print '换行
Next
End Sub
这个好像也没什么必要,再举个例子,比如数据库每条记录存储一个图形数据,如果对每个图形都可以进行移动,删除,修改等繁琐操作,我就定义一个类,用类定义的每一个对象分别管理一个图形,每个对象都有一个属性关联记录集中的一个记录,用Bookmark值。这样图形被改变时,对象就可以根据Bookmark值找到该记录,对它作修改。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询