我有一个包含四个参数的存储过程,我尝试将其连接到Excel 2010工作簿,但我在传递多个参数时遇到了困难。
我按照Running a SQL Stored Procedure in Excel中列出的步骤操作,并能够将存储过程连接到Excel并传递一个参数。
但是在我开始工作后,我不得不修改我的存储过程并添加另外三个参数,现在我无法在Excel连接中找出命令文本的语法来传递多个参数。
我的存储过程名称为[VIDIR].[_cornie_Report_Shipped_Serial_Numbers]
,我在Excel工作簿中使用以下VBA代码,只使用一个参数成功刷新连接。
Sub RefreshQuery()
With ActiveWorkbook.Connections("VIDIR3 Arborg_Test_App country").OLEDBConnection
.CommandText = "[VIDIR].[_cornie_Report_Shipped_Serial_Numbers] '%" & Range("C3").Value & "%'"
End With
ActiveWorkbook.Connections("VIDIR3 Arborg_Test_App country").Refresh
End Sub
修改后的存储过程中的四个参数名称为:
@BillName varchar(60)
,@ShipName varchar(60)
,@Item varchar(40)
,@FamilyCode varchar(40)
答案 0 :(得分:0)
使用https://superuser.com/questions/294779/pass-a-cell-contents-as-a-parameter-to-an-excel-query-in-excel-2007中描述的逻辑(第一个答案的第二部分,涉及CreateParameter
和Parameters
集合。另请参阅http://www.ozgrid.com/forum/showthread.php?t=170413以获取其他示例。