![从 Excel 2007 运行带参数的 SQL 查询](https://linux22.com/image/1253105/%E4%BB%8E%20Excel%202007%20%E8%BF%90%E8%A1%8C%E5%B8%A6%E5%8F%82%E6%95%B0%E7%9A%84%20SQL%20%E6%9F%A5%E8%AF%A2.png)
我在 Excel 表中有一个查询。我按照这去做吧。
但是我如何将单元格中的参数添加到查询中?
我正在寻找一种方法来做到这一点:
select *
from dbo.Customers
where CustomerID = Cell.A2
这细胞.A2不起作用。但是我如何添加类似的东西,以便单元格的内容可用于我的查询?
答案1
不知道为什么 MS 把它弄得这么复杂,你必须使用 Microsoft Query。
单击数据 -> 来自外部源 -> 来自 Microsoft Query。选择数据源。选择 SQL Server,输入身份验证详细信息,然后选择表
单击“下一步”,不要选择任何过滤条件,选择“按条件排序”,然后单击“下一步”。现在,单击“在 MS Query 中查看/编辑”,而不是选择“返回 Excel”
单击完成。现在在 MS Query 中,单击条件 -> 添加条件,选择运算符并让值为[]
单击文件 -> 将数据返回到 Excel。现在 Excel 应该会提示您输入参数,选择相关单元格
要编辑参数,请单击数据 -> 属性 -> 手指图标 -> 定义 -> 参数
您还可以使用 SQL 查询编辑器并输入带有连接的查询,并将其放在?
需要获取参数的字段上。
答案2
无耻的推销永远不会太晚...
这是很棒的小插件对于 Excel...(免责声明:我是作者)
它是一个 Excel 插件,可以为 Excel 添加数据库引擎和 SQL IDE。
它允许您对 Excel 中标记为表的任何内容执行 SQL 操作。您可以跨工作簿进行查询,也可以在同一查询中使用外部数据库 (SQL Server/Sqlite/Postgres/Access/MySql) 中的表。
它具有 SQL 语法突出显示、语句完成和许多其他很酷的功能。它在底层使用 SQLite,但也可以使用外部数据库引擎来处理数据。
虽然我确实需要付费,但有一个免费试用版,你可以使用 30 天。它被称为 ThingieQuery。
抱歉,插件的问题,希望不是太不合适。
答案3
将价值视为
where employeecode = '?'
这将启用您的参数按钮,但是当您按下确定时它会提示您。