DataRecordsets.AddFromConnectionFile 方法 (Visio)

通过使用 Office 数据连接 (ODC) 文件中包含的连接和查询信息,将 DataRecordset 对象添加到 DataRecordsets 集合,以连接到 OLEDB 或 ODBC 数据源并从中检索数据。

注意

此 Visio 对象或成员仅供 Visio Professional 2013 的授权用户使用。

语法

表达式AddFromConnectionFile (FileNameAddOptionsName)

表达 返回 DataRecordsets 对象的表达式。

参数

名称 必需/可选 数据类型 说明
FileName 必需 字符串 要使用的 ODC 连接文件的名称。
AddOptions 必需 Long 用于确定要添加的数据记录集的属性的选项。 VisDataRecordsetAddOptions 中的一个或多个枚举值的组合。 有关详细信息,请参阅“备注”。
Name 可选 字符串 将显示名称分配给要添加的 DataRecordset 对象。

返回值

DataRecordset

备注

对于 FileName 参数,传递 ODC 文件(该文件包含一个指定如何连接到 OLEDB 或 ODBC 数据源的连接字符串和一个指定如何从数据源中提取所需数据的查询字符串)的名称和完整路径。

ODC 文件使用 HTML 和 XML 存储连接和查询信息。 您可以在任何文本编辑器中查看或编辑文件的内容。 ODC 文件的文件扩展名为 .odc。 使用 Microsoft Access 或 Microsoft Excel 中的数据连接向导创建将连接到并检索所需数据的 ODC 文件。

AddOptions 参数可以是 VisDataRecordsetAddOptions 枚举(在 Visio 类型库中声明)中的下列值的一个或多个的组合。 默认值是零 (0),它指定不设置任何选项。

常量 Description
visDataRecordsetNoExternalDataUI 1 防止新数据记录集中的数据在“外部数据”窗口中显示。
visDataRecordsetNoRefreshUI 2 防止数据记录集包括在刷新操作中和显示在“刷新数据”对话框中。
visDataRecordsetNoAdvConfig 4 防止数据记录集在“配置刷新”对话框中显示。
visDataRecordsetDelayQuery 8 添加数据记录集,但在您下次调用 Refresh 方法之前不执行 CommandString 查询。
visDataRecordsetDontCopyLinks 16 添加数据记录集,但不会剪切或复制形状数据链接。

分配这些值后,在 DataRecordset 对象的生存期内您不能对其进行更改。

Name 参数是一个可选字符串,您可以通过它为数据记录集分配显示名称。 如果您指定在 Visio UI 中显示“外部数据”窗口,您为此参数传递的名称将会出现在“外部数据”窗口中对应于所添加的数据记录集的选项卡上。

如果 AddFromConnectionFile 方法成功,它将执行以下操作:

  • 创建一个 DataRecordset 对象并为其分配在 Name 参数中指定的名称。 如果未指定名称,Visio 会将作为数据源的数据库表的名称分配给数据记录集。

  • 将一个新的或现有的 DataConnection 对象与 DataRecordset 对象相关联。

  • 执行 ODC 文件中命令字符串中指定的查询字符串,并检索生成的数据。

  • 将数据源的列的数据类型映射到等效的 Visio 数据类型,同时筛选结果以删除因没有等效的 Visio 数据类型而无法链接到 Visio 形状的数据源列。

  • 将行 ID 分配给数据记录集中的每一行。 有关行 ID 的详细信息,请参阅 DataRecordset.GetDataRowIDs 属性主题。

注意

AddFromConnectionFile 方法遇到网络连接错误、网络超时或数据库权限错误时,它将失败并返回异常。

示例

以下 Microsoft Visual Basic for Applications (VBA) 宏演示了如何使用 AddFromConnectionString 方法连接 Visio 绘图,以连接到 Microsoft Access 随附的 Northwind 数据库的 Products 表中的数据。 在运行此示例代码之前,请使用数据连接向导创建 ODC 文件,并将 strFile 变量的值替换为你创建的 ODC 文件的完整路径和文件名。 (可选)为 strName 变量提供其他值。

Public Sub AddFromConnectionFile_Example() 
 
    Dim strFile As String 
    Dim strName As String 
    Dim vsoDataRecordset As Visio.DataRecordset 
 
    strFile = "C:\Users\username \Documents\My Data Sources\Northwind.mdb Products.odc" 
 
    strName = "Data from ODC" 
 
    Set vsoDataRecordset = ThisDocument.DataRecordsets.AddFromConnectionFile(strFile, 0, strName) 
 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。