日期:2012-05-27  浏览次数:21107 次

Meyyammai Subramanian
Microsoft Corporation

2001 年 4 月

适用于:
Microsoft® Access 2002

摘要:本文说明如何将数据访问页绑定到断开连接的 ADO 记录集。

目录
简介
创建使用断开连接的记录集的数据访问页

简介
断开连接的记录集是客户端高速缓存中的对象,该对象没有同服务器实时连接。使用断开连接的记录集,ActiveX® 数据对象 (ADO) 允许您创建记录集,断开与数据源的连接,使用户可以脱机查看和编辑记录集。

例如,“类别”数据访问页会询问是否该页应使用断开连接的数据。如果用户单击“是”,该页将提示用户输入断开连接的记录集的路径。如果用户单击“否”,该页将使用实时数据。

创建使用断开连接的记录集的数据访问页
在“设计”视图中创建数据访问页。


添加所需的控件和分组级别。例如,创建“类别”页,该页组合有不同类别下的产品记录。


将代码添加到 BeforeInitialBind 事件,以便连接到断开连接的记录集,或者连接到实时数据。
以下是 BeforeInitialBind 事件过程示例。

<SCRIPT language=vbscript event=BeforeInitialBind(info) for=MSODSC>
<!--
Dim rs
Dim strShapeText
Dim strConnectionString
Dim strDataSource
adOpenKeyset=1
adLockOptimistic=3

If vbyes=msgbox("使用断开连接的记录集吗?",vbyesno) Then
On Error Resume Next
strDataSource = InputBox ("请输入要使用的_
断开连接的记录集的路径。", "Enter Path", _
"C:\Program Files\Microsoft Office\Office10\Samples\ _
Northwind.mdb")
strShapeText = MSODSC.RootRecordsetDefs(0).ShapeText
strConnectionString = "Provider=MSDataShape.1; _
Persist Security Info=False;Data Source=" & strDataSource _
& ";User ID=Admin;Data Provider=Microsoft.Jet.OLEDB.4.0"

Set rs = CreateObject("ADODB.Recordset")
rs.Open strShapeText, strConnectionString, adOpenKeyset, _
adLockOptimistic

If err.Number <> 0 Then
MsgBox "错误:" & err.description & "Error " & err.number
End If

MSODSC.SetRootRecordset "Categories", rs
End If
-->
</SCRIPT>

注意:

不能从 Microsoft Access 内部正常使用绑定到断开连接的记录集的数据访问页。 应在 Microsoft Internet Explorer 中打开该页,才能正常查看。


在创建 Microsoft® Office 数据源控件 (MSODSC) 事件的 Visual Basic® Scripting Edition (VBScript) 块时,必须将参数添加到事件名称中,如下所示:
<SCRIPT LANGUAGE=vbscript FOR=MSODSC EVENT=Current(oventInfo)>

oEventInfo 参数用于向脚本返回有关该事件的具体信息。无论是否使用此参数,都必须添加此参数,否则脚本将无法运行。