[英]Excel Sql throws Too few parameters error when Sql run in Excel read only mode
我有一个Excel工作表,其中我通过ODBC将数据从oracle加载到“数据”工作表中。 然后应用excel sql过滤一些数据
注意:我在服务器计算机上工作,因此无法粘贴整个代码。 但是我所说的都是100%正确的。
'Load Data Sheet
Sql = Select * from oracleTable
. . .
set rs1 = commandData.Execute() 'record set
'Then code to store rs1 values in to Data Sheet...
.
.
'Apply filter in Excel
query = select col1,col2,col3 from [Data$A1:IV100] where col1='10'
set rs = commandData.Execute() 'record set
在写模式下打开时返回正确的结果。 但是,当我将工作表置于只读模式时,我的用户可以保护工作表的内容。 它可以从oracle加载数据,然后在行执行过滤器excel sql时显示错误。
set rs = commandData.Execute() ' Error at this line when opened in read only mode
错误:
[Microsoft] [ODBC Excel驱动程序]参数太少。 预期1
是否类似于以只读方式打开excel时打开的Temp目录中的内容,所以在执行excel查询时,是否难于找到正确的表来应用sql?
您没有正确使用.Execute()函数。
不返回行的语法:
commandobject.Execute RecordsAffected, Parameters, Options
行返回的语法:
Set recordsetobject = commandobject.Execute (RecordsAffected, Parameters, Options)
以下是用于更深入介绍的链接: http : //www.devguru.com/technologies/ado/quickref/command_execute.html
我本人也经常遇到此错误。 如果您挂断电话,请尝试以下操作:
query =
?query
,然后按Enter 您也可以尝试将SQL语句从“即时窗口”粘贴到数据库中并运行查询。 有时您的数据库会抛出更具体的错误消息,您可以相应地更正您的VBA代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.