优秀的编程知识分享平台

网站首页 > 技术文章 正文

VBA中SQLOpen函数

nanyue 2024-11-22 18:34:35 技术文章 2 ℃

建议使用 Microsoft ActiveX 数据对象 (ADO) 库中的对象、方法和属性,而不是使用 Xlodbc.xla 加载宏中的 SQLOpen 和其他 ODBC 函数。

SQLOpen 建立与数据源的连接。

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

SQLOpen(ConnectionStr, OutputRef, DriverPrompt)

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

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

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

返回值

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

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

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

最近发表
标签列表