Excel VBA教程:SQLExecQuery函数

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

用 SQLOpen函数建立与数据源的连接后,SQLExecQuery函数在该数据源上执行查询。

SQLExecQuery函数仅用于执行查询。要用 SQLRetrieve函数或 SQLRetrieveToFile函数获取结果。

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

SQLExecQuery(ConnectionNum, QueryText)

ConnectionNum   必需。指定要查询的数据源的唯一连接标识,该连接标识由 SQLOpen函数返回。

QueryText   必需。要在数据源上执行的查询。该查询必须遵循特定 ODBC 驱动程序的 SQL 语法准则。

返回值

SQLExecQuery函数的返回值依赖于所执行的 SQL 语句,如下表所示。

SQL 语句 返回值
SELECT 结果集合中的列数
Update、 Insert 或 Delete 该语句所影响的行数
其他有效的 SQL 语句 0(零)

如果 SQLExecQuery 无法在指定数据源上执行查询,将返回第 2042 号错误。

如果 ConnectionNum 无效,SQLExecQuery 将返回第 2015 号错误。

说明

调用 SQLExecQuery函数之前,必须用 SQLOpen函数建立与数据源的连接。由 SQLOpen函数返回的唯一连接标识,将被 SQLExecQuery函数用于向数据源发送查询。

如果用以前使用过的连接标识调用 SQLExecQuery函数,那么该连接中搁置的结果将由新的查询所得的结果取代。

Excel VBA教程:SQLExecQuery函数·示例

本示例在“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教程:SQLError函数 下页:Excel VBA教程:SQLGetSchema函数

Excel VBA教程:SQLExecQuery函数

Excel VBA教程:SQLGetSchema函数 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教程:初始化控件属性
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号