VB中data控件的Recordset的Bookmark属性怎么用?

 我来答
szqaly
2014-07-03 · TA获得超过1745个赞
知道大有可为答主
回答量:2107
采纳率:77%
帮助的人:1528万
展开全部
这是个长整形数,一个记录的唯一标识,如果你临时移动一下记录指针,等处理后又要回到原有的记录处,可以使用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值找到该记录,对它作修改。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式