【发布时间】:2025-12-17 18:40:01
【问题描述】:
我已经使用 Microsoft 查询创建了一个参数查询,如提到的 here。但是当我想将参数传递给临时变量并创建表变量并编辑它们以获得所需的结果而不是执行 10 到 15 次连接并在 where 子句中提及参数时,我会出错
[Microsoft] [ODBC SQL Server Driver] 参数号无效
和
[Microsoft] [ODBC SQL Server 驱动程序] 描述符索引无效
我的代码看起来像这样,它包含许多临时表和临时变量,非常复杂
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 中的数据库,如何将参数传递给 Excel 2007 中的临时变量?我无权在数据库中创建存储过程并将它们作为参数传递给它。
更新
我已经按照David Vandenbos 的建议找到了一种通过 VBA 的方法。我仍然很想知道这是否可以在没有 VBA 的帮助下完成。
【问题讨论】:
-
+1,好问题。不幸的是,我认为这不能通过 MS Query 在 Excel 中完成。查询仅限于在可以“以图形方式显示”的查询中传递参数,尽管您可以传递其他所有内容。您是否有权在数据库上创建视图?您也许可以创建一个视图,然后将它们返回到 Excel 中的参数。否则,我认为您可能需要 VBA。
-
@DavidVandenbos 我找到了通过 VBA 的方法。谢谢
标签: sql-server excel sql-server-2005 excel-2007