Excel VBA教程:SQLRequest函数

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

SQLRequest 连接到一个外部的数据源并从工作表中运行查询程序,将查询结果以数组的形式返回。

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

SQLRequest(ConnectionStr, QueryText, OutputRef, DriverPrompt, ColNamesLogical)

ConnectionStr   必需。提供信息,如数据源名称、用户 ID及密码,该信息是使用的驱动程序连接到数据源时所必需的,即必须遵循驱动程序格式。

在与数据源建立连接之前,必须定义在 ConnectionStr 中使用的数据源名称(DSN)。

如果 SQLRequest 不能使用 ConnectionStr 访问数据源, 则返回第 2042 号错误。

QueryText   必需。在数据源上所需执行的 SQL 语句。

如果在指定的数据源上 SQLRequest 不能执行 QueryText,则返回第 2042 号错误。

OutputRef   可选。Range对象(必须为单个单元格)用于保存完整连接的字符串。

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

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

ColNamesLogical  可选。如果为 True,则将列名作为结果的第一行返回。如果为 False,则不返回列名。如果省略本参数,则默认值为 False。

说明

函数 SQLRequest 的参数与宏函数 SQL.REQUEST 的参数顺序不同。

返回值

如果此函数完成了所有操作,则返回查询结果数组或受查询影响的行的行号。

如果 SQLRequest 不能完成所有操作,则回错误值,并将错误信息保存在 SQLError 内存中。

如果 SQLRequest 不能使用 connectionStr 访问数据源,则返回第 2042 号错误信息。

Excel VBA教程:SQLRequest函数·示例

本示例在“NorthWind”数据库上执行查询。显示在工作表 Sheet1 上的查询结果是当前已订货的产品列表。SQLRequest函数还将完整连接的字符串写入工作表“Sheet2”中。


databaseName = "Northwind"
queryString = _
    "SELECT * FROM product.dbf WHERE (product.ON_ORDER<>0)"
returnArray = SQLRequest("DSN=" & databaseName, _
            queryString, _
            Worksheets("Sheet1").Range("A1"), _
            2, True)
For i = LBound(returnArray, 1) To UBound(returnArray, 1)
    For j = LBound(returnArray, 2) To UBound(returnArray, 2)
        Worksheets("Sheet1").Cells(i, j).Formula = _
            returnArray(i, j)
    Next j
Next i

上页:Excel VBA教程:SQLOpen函数 下页:Excel VBA教程:SQLRetrieve函数

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对象事件 Excel VBA教程:引用工作表上的所有单元格
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号