【问题标题】:Excel Query Parameter Update when Cell Value Changes单元格值更改时 Excel 查询参数更新
【发布时间】:2018-04-08 08:44:14
【问题描述】:

我正在使用 Excel 2013,并且我有一张从 SQL Server 2012 获取数据的工作表。

查询有 4 个参数,并从单元格中获取它们的值。当单元格值更改时,该框被选中以自动刷新。我想避免使用 VBA。

当参数引用的单元格中有正确的值时返回数据。

问题在于日期单元格。在另一个单元格中,我创建了一个公式来检查日期是否有效,如果有效,则将输入的值格式化为YYYY-MM-DD,否则格式化今天的日期。在第一次更改时,数据会更新,但在后续更改时,数据不会更新。带有公式的单元格用作参数的值。

【问题讨论】:

    标签: sql-server excel auto-update cells


    【解决方案1】:

    问题似乎是用于查询参数的单元格只能包含数据或简单函数,没有嵌套函数,才能识别更改事件。 在我的例子中:单元格 I4 使用 =TEXT(F4,"yyyy-mm-dd") 格式化用户输入的开始日期。如果它是一个日期,它将被转换为 SQL 期望的文本,否则它与输入相同。单元格 J4 包含当月第一天的函数 =TEXT(TODAY()-DAY(TODAY())+1, "yyyy-mm-dd")。用于参数的单元格是 H4,它包含 =IF(F4=I4, J4, I4)。 下一行 (5) 类似地测试结束日期,J5 提供月份结束日期: =TEXT(EOMONTH(TODAY(),0), "yyyy-mm-dd") 。然后结束日期的参数单元格包含 =IF(F5=I5,J5,I5)。 我的下一步是将查询带到存储过程中,以便更好地验证输入。由于 excel 似乎只允许 1 个参数用于存储过程(除非使用 ODBC),因此我必须将输入连接为这样的单元格: =TRIM(CONCATENATE(H2, "■",F3, "■", H4, " ■",H5))。然后在 SP 中拆分标准。希望这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-20
      • 2012-01-23
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-18
      • 1970-01-01
      相关资源
      最近更新 更多