sql - 如何通过excel更改SQL WHERE子句?
问题描述
我已经构建了一个 SQL 查询来为我提供产品的历史价格数据,我打算在 excel 中使用这些数据(数据透视图、图表,所有那些花哨的 excel 东西)。
现在的问题是,由于许多产品的性质和许多价格变化,我无法加载我打算加载的所有产品。
我需要以某种方式告诉 excel 必须更改连接的 SQL 查询中的几个数字,即通过文本框,然后再次加载查询。否则我总是会在 excel 中打开查询编辑器并手动更改它,这需要相当多的时间。
我认为我将不得不使用某种宏或 VBA,但我从未使用过它。如果有人可以参考一篇很棒的文章,因为我找不到任何有用的东西。
一些代码:
WHERE
PD.Product_Id = '11761476' < I will have to change that number
AND
PSPH.[Valid_To] > '2018-01-01'
ORDER BY
PSPH.[Valid_To]
解决方案
要操作 SQL字符串,您可以执行以下操作。
pid = "11761476"
validto = "2018-01-01"
SQLtemplate = "WHERE PD.Product_Id = '[prodID]' AND PSPH.[Valid_To] > '[validto]' ORDER BY PSPH.[Valid_To]"
Sql = Replace(SQLtemplate, "[prodID]", pid)
Sql = Replace(Sql, "[validto]", validto)
但在您使用它之前,您需要遵循@Foxfire 的建议并在手动更改宏时录制宏,以查看需要更改的确切内容以及如何更改。
推荐阅读
- r - 使用 ggplot2 的堆叠条形图 - 数据可视化
- javascript - 以编程方式构建网格 - UV 映射
- ionic4 - 滚动位置恢复设置在 ionic 4 angular 8 中不起作用
- r - 如何选择随机向量
- apache-spark - 在 Pyspark 中使用 contains 和 udf 时出现问题:AttributeError: 'NoneType' object has no attribute 'lower'
- android - 如何通过按返回返回到上一个片段?
- python - 如何使用python使用mssql+pyodbc连接字符串创建和删除数据库
- javascript - 获取 jquery each() 中多个输入字段的总和
- php - 将 PHP 5.6.16 升级到 7.2.9 后,SoapClient::__doRequest() 不工作总是返回空响应
- django - Django注释字段未传递给序列化程序