Access VBA教程:Bookmark属性

使用窗体的 Bookmark属性可以设置书签,用以唯一标识窗体 基础表、查询或SQL 语句中的特定记录。Variant 型,可读/写。

expression.Bookmark

expression   必需。返回“Applies To”列表中的一个对象的表达式。

设置

Bookmark属性包含一个由 Microsoft Access 创建的字符串表达式。

可以使用或者Visual Basic 设置该属性。

注意   从基础表或基础查询的 ADO Bookmark 或 DAO Bookmark属性中,分别获得或设置窗体的 Bookmark属性。

说明

在“窗体”视图中打开绑定窗体时,系统为每条记录指定了一个唯一的书签。在 Visual Basic 中,可以通过将窗体的 Bookmark属性指定给字符串变量来保存当前记录的书签。在移到其他记录后,如果要返回到这个已保存的记录中,只需将窗体的 Bookmark属性设置为保存的字符串变量即可。可以使用 StrComp函数将 Variant 或字符串变量与书签进行比较,或者将书签与书签进行比较。必须将 StrComp函数的第三个参数设为零值。

注意   书签不和它所代表的记录一起保存,并且只在窗体打开时才有效。每次打开绑定窗体时,Microsoft Access 都将重建书签。

如果每个书签都使用唯一的字符串变量来保存,则保存书签的数目将不受限制。

Bookmark属性只在窗体的当前记录中可用。如果要保存非当前记录的书签,则需移到所需的记录,并将 Bookmark属性值指定给标识此记录的字符串变量。

可以在完全基于 Microsoft Access 表的任意窗体中使用书签。但其他数据库产品可能不支持书签。例如,在基于无主索引链接表的窗体中就不能使用书签。

重新查询窗体使所有窗体记录中设置的书签都失效,但单击“记录”菜单上的“刷新”命令不会影响书签。

因为当窗体打开时,Microsoft Access 为窗体记录集中的每一条记录都创建一个唯一的书签,所以一个窗体的书签不能用于另一个记录集,即使这二个记录集都基于相同的表、查询或 SQL 语句。例如,假设打开了一个绑定到“客户”表的窗体。接下来如果使用 Visual Basic 打开“客户”表并使用 ADO Seek 或 DAO Seek方法来定位表中特定记录,则不能将此窗体的 Bookmark属性设置为当前表记录。若要执行此类型的操作,可以将 ADO Find方法或 DAO Find方法与窗体的RecordsetClone属性一起使用。

如果将 Bookmark属性设置为一个字符串变量,然后在删除记录后试图返回该记录,则会产生错误。

Bookmark属性值和记录编号不一样。

VBA示例

如果要使用“罗斯文”示例数据库试验以下示例,需要将一个名为cmdFindContactName 的命令按钮添加到“供应商”窗体中,然后将下列代码添加到这个按钮的 “单击”事件上。单击按钮时,将要求用户输入联络人名称的一部分以进行查找。如果找到了该名称,此窗体的 Bookmark属性将设置为 Recordset对象的 DAO Bookmark属性值,该属性使找到的记录成为窗体的当前记录。


Private Sub cmdFindContactName_Click()
    Dim rst As DAO.Recordset
    Dim strCriteria As String
    strCriteria = "[联系人姓名] Like '*" & InputBox("输入待找姓名的前几个字") & "*'"
    Set rst = Me.RecordsetClone
    rst.FindFirst strCriteria
    If rst.NoMatch Then
        MsgBox "未找到任何条目。", vbInformation
    Else
        Me.Bookmark = rst.Bookmark
    End If
    Set rst = Nothing
End Sub

上页:Access VBA教程:BeginBatchEdit属性 下页:Access VBA教程:BorderColor属性

Access VBA教程:Bookmark属性

Access VBA教程:BorderColor属性 Access VBA教程:BorderStyle属性
Access VBA教程:BorderWidth属性 Access VBA教程:BottomMargin属性
Access VBA教程:BoundColumn属性 Access VBA教程:BrokenReference属性
Access VBA教程:Build属性 Access VBA教程:BuiltIn属性
Access VBA教程:Cancel属性 Access VBA教程:CanGrow属性
Access VBA教程:CanShrink属性 Access VBA教程:Caption属性
Access VBA教程:ChartSpace属性 Access VBA教程:CheckIfOfficeIsHTMLEditor属性
Access VBA教程:Class属性 Access VBA教程:CloseButton属性
Access VBA教程:CodeContextObject属性 Access VBA教程:CodeData属性
Access VBA教程:CodeProject属性 Access VBA教程:Collection属性
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号