Excel VBA教程:SQLOpen函数

请勿在 Xlodbc.xla 加载宏中使用 SQLOpen 和其他 ODBC函数,应该使用 Microsoft ActiveX 数据对象 (ADO) 库中的对象、方法和属性。

SQLOpen 建立与数据源的连接。

本函数包含在 Xlodbc.xla 加载宏中。使用本函数之前,必须使用“工具”菜单中的“引用”命令建立对该加载宏的引用。

SQLOpen(ConnectionStr, OutputRef, DriverPrompt)

ConnectionStr   必需。提供驱动程序(用于连接数据源)所要求的信息;必须遵循该驱动程序所要求的格式。ConnectionStr 将提供驱动程序用于建立连接的数据源名称和其他信息(例如用户标识和密码)。在与数据源建立连接之前,必须定义在 ConnectionStr 中使用的数据源名称 (DSN)。

OutputRef   可选。包含完整的连接字符串的 Range对象(必须为单个单元格)。如果希望 SQLOpen函数将完整的连接字符串返回到工作表中,请使用 OutputRef参数。

DriverPrompt   可选。指定是否显示驱动程序对话框以及在显示的情况下,其中哪些选项可用。可使用下表所说明的数值之一。如果省略 DriverPrompt,SQLOpen 将以 2 为默认值。

含义
1 总显示驱动程序对话框。
2 仅当连接字符串所提供的信息和数据源说明不足以完成数据源的连接时,才显示驱动程序对话框。对话框中的所有选项均可用。
3 与 2 相同,但未要求的对话框选项将变灰(不可用)。
4 不显示驱动程序对话框。如果连接不成功,SQLOpen函数将返回错误。

返回值

如果成功,SQLOpen 返回唯一的连接 ID 号。可将该连接 ID 号用于其他 ODBC函数中。

如果 SQLOpen 无法用给定的信息完成连接,将返回第 2042 号错误。附加的错误信息放置在内存中,可供 SQLError函数使用。

Excel VBA教程:SQLOpen函数·示例

本示例在“Northwind”数据库上执行查询。显示在 Sheet1 上的查询结果是当前已订货的所有产品的列表。


DatabaseName = "Northwind"
QueryString = _
    "SELECT * FROM product.dbf WHERE (product.ON_ORDER<>0)"
Chan = SQLOpen("DSN=" & DatabaseName)
SQLExecQuery Chan, QueryString
Set output = Worksheets("Sheet1").Range("A1")
SQLRetrieve Chan, Output, , , True
SQLClose Chan

上页:Excel VBA教程:SQLGetSchema函数 下页:Excel VBA教程:SQLRequest函数

Excel VBA教程:SQLOpen函数

Excel VBA教程:SQLRequest函数 Excel VBA教程:SQLRetrieve函数
Excel VBA教程:SQLRetrieveToFile函数 Excel VBA教程:隐藏的语言元素
Excel VBA教程:向文档中添加控件 Excel VBA教程:向用户窗体中添加控件
Excel VBA教程:应用程序对象事件 Excel VBA教程:图表对象事件
Excel VBA教程:控件和对话框事件 Excel VBA教程:在某一 Microsoft Office 应用程序中控制其他 Microsoft Office 应用程序
Excel VBA教程:创建自定义对话框 Excel VBA教程:新建工作簿
Excel VBA教程:创建“用户窗体” Excel VBA教程:显示自定义对话框
Excel VBA教程:获取有关 Macintosh 关键字的帮助 Excel VBA教程:在单元格区域中循环
Excel VBA教程:如何引用单元格和区域 Excel VBA教程:初始化控件属性
Excel VBA教程:打开工作簿 Excel VBA教程:QueryTable对象事件
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号