SQLBind函数
不要在column函数的使用“Xlodbc.xla”加载宏中使用 SQLBind 和其他 ODBC函数,应该使用 Microsoft ActiveX 数据对象 (ADO) 库中的对象、函数和方法。
当用 SQLRetrieve函数或 SQLRetrieveToFile函数检索到数据后,要用 SQLBind函数指定结果应放置的位置。还可用 SQLBind函数修改查询所得的结果集合的列顺序,或将结果集合放置在工作表中非邻接的列中。
本函数包含在“Xlodbc.xla”加载宏中。使用本函数之前,必须使用“工具”菜单中的“引用”命令建立对该加载宏的引用。
SQLBind(ConnectionNum, Column, Reference)
ConnectionNum 必需。指定将要绑定检索结果的数据源的唯一连接标识,该连接标识由 SQLOpen函数返回。
Column 可选。结果集合中要绑定的列的列标。结果集合中的列从左至右编号,从 1 开始。如
果省略 Column,则 ConnectionNum 所指定的数据源的所有绑定都将取消。
第 0(零)列包含结果集合的行号。可绑定第 0(零)列以获得行号。
Reference 可选。指定工作表上单个单元格的 Range对象,结果将绑定在该单元格的位置上。如果省略 Reference,则指定列的绑定将被去掉。
返回值
本函数返回数组,该数组包含当前连接中已绑定列的列号。
如果 SQLBind 无法将指定列绑定到指定位置,它将返回第 2042 号错误。
如果 ConnectionNum 无效,或指定的单元格位置无效,SQLBind 返回第 2015 号错误。
如果 Reference 指定的区域包含不止一个单元格,SQLBind 返回第 2023 号错误。
如果未在 SQLRetrieve函数中指定结果位置参数,SQLBind 将把结果集合置于 Reference 所指定的位置。
说明
SQLBind 通知 ODBC 控制面板管理器,当用 SQLRetrieve函数检索到数据后,应在何处放置这些数据。结果将置于指定单元格及紧靠该单元格下方的单元格中。
如果希望将不同列的数据放在工作表上不连续的区域中,就可使用 SQLBind函数。
应对结果集合中的每一列都使用 SQLBind函数。只要 ConnectionNum 所指定的连接处于打开状态,该连接的绑定就是有效的。
应在调用 SQLOpen函数和 SQLExecQuery函数之后,及调用 SQLRetrieve函数或 SQLRetrieveToFile函数之前调用 SQLBind函数。对 SQLBind函数的调用不影响已检索到的数据结果。
Excel VBA教程:SQLBind函数·示例
本示例在“NorthWind”数据库上执行查询,然后调用 SQLBind函数,在工作表 Sheet1 上仅显示查询结果集合中的第四列和第九列(产品名称和订货数量)。
databaseName = "Northwind"
queryString = _
"SELECT * FROM product.dbf WHERE (product.ON_ORDER<>0)"
chan = SQLOpen("DSN=" & databaseName)
SQLExecQuery chan, queryString
Set output1 = Worksheets("Sheet1").Range("A1")
Set output2 = Worksheets("Sheet1").Range("B1")
SQLBind chan, 4, output1
SQLBind chan, 9, output2
SQLRetrieve chan
SQLClose chan
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论