从Excel 2007运行带有参数的SQL查询


21

我在Excel表中有一个查询。我遵循操作。

但是如何将单元格中的参数添加到查询中?

我正在寻找一种方法来做到这一点:

select *
from dbo.Customers
where CustomerID = Cell.A2

Cell.A2不起作用。但是,如何添加类似的内容,以便在查询中使用单元格的内容?


您是否尝试过仅命名单元格-然后在查询中使用名称而不是单元格引用?

Answers:


17

Dunno为什么MS使这一点变得如此复杂,您将不得不使用Microsoft Query。

单击数据->从外部源->从Microsoft Query。选择数据源出现。选择SQL Server,输入身份验证详细信息,然后选择表

在此处输入图片说明

单击下一步,不选择任何过滤条件,选择按条件排序,然后单击下一步。现在,单击“在MS Query中查看/编辑”,而不是选择“返回Excel”

在此处输入图片说明

单击完成。现在在MS Query中,单击Criteria-> Add Criteria,选择运算符并将其值设为[]

在此处输入图片说明

单击文件->将数据返回到Excel。现在,Excel应该提示您输入参数,选择相关的单元格

在此处输入图片说明

要编辑参数,请单击数据->属性->手指图标->定义->参数

在此处输入图片说明


您还可以使用SQL查询编辑器,并在联接中键入查询,?并在必须获取参数的字段上放置一个。

在此处输入图片说明


parameters,参数已禁用。
瓦卡诺2010年

@Vaccano:修改了我的答案,请看看
Sathyajith Bhat

感谢您在Sathya上所做的努力。las,我意识到,由于查询中包含一些联接,因此MS Query无法以图形方式显示它。这样就可以避免使用参数。我将使其作为VBA功能。我在点头,因为您的回答如此完整。
瓦卡诺

2
@Vaccano:您可以使用SQL编辑器编写查询,并?在必须选择参数的字段上放置一个i.imgur.com/NgXxc.png
Sathyajith Bhat

2
我发现查询一旦进入Excel,就可以进入查询参数屏幕并在那里进行编辑,而无需再次进入MS Query。只是丢一个?条件在哪里。然后返回到连接属性屏幕,并将该参数分配给电子表格中的单元格。
特雷西·普罗布斯特

1

无耻的插头永远不会太迟...

有一个很棒的Excel 小插件 ...(免责声明:我是作者)

这是一个Excel插件,用于向Excel添加数据库引擎和SQL IDE。

它使您可以对Excel中标记为表的任何内容执行SQL操作。您可以跨工作簿查询,也可以在同一查询中使用来自外部数据库(SQL Server / Sqlite / Postgres / Access / MySql)的表。

它具有SQL语法突出显示,语句完成和许多其他有趣的东西。它在后台使用SQLite,但也可以使用外部数据库引擎来处理数据。

我会为此收费,但是有一个免费试用版,您可以使用30天。它称为ThingieQuery。

抱歉,该插件不太合适。


-1

投入价值为

where employeecode = '?'

这将启用您的参数按钮,但是当您单击确定时,它将提示您。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.