从Excel中将parameter passing给SQL Server上的MS Query中的临时variables

我已经使用Microsoft查询创build了一个参数查询,如上所述。 但是,当我想传递参数临时variables,并创build表variables,并编辑它们来获得所需的结果,而不是做10到15连接,并提到where子句中的参数,我得到错误

[Microsoft] [ODBC SQL Server驱动程序]无效的参数号

[Microsoft] [ODBC SQL Server驱动程序]无效的描述符索引

我的代码看起来像这样很复杂的临时表和临时variables

BEGIN SET NOCOUNT ON DECLARE @sDate DATETIME, @eDate DATETIME; --used in many places to manipulate temp table SET @sdate = ? SET @edate = ? DECLARE @Temptable TABLE (Variable1 INT ,...... VariableN DECIMAL(18,4)); Manipulate @temptable Select * from @Temptable END 

在SQL Server 2005中,如何将parameter passing给Excel 2007中的临时variables? 我没有权限在数据库中创build存储过程,并将它们作为parameter passing给它。

UPDATE

大卫·范登博斯 ( David Vandenbos)提出了我通过VBA的方法。 我仍然很想知道这是否可以在没有VBA的帮助下完成。

您可以在声明variables之前添加SET NOCOUNT ON。 我使用Microsoft Query和SQL Server 2005在Excel 2010中完美工作。

 SET NOCOUNT ON DECLARE @VAR1 VARCHAR(4) SET @VAR1 = '1234' SELECT @VAR1 

https://social.msdn.microsoft.com/Forums/office/en-US/d8003854-d11a-44f7-960c-a042347736d7/microsoft-query-cannot-run-sql-code-with-a-tsql-variables-在-呢?论坛= exceldev