【问题标题】:Is it possible to write parameter query parameters to cell是否可以将参数查询参数写入单元格
【发布时间】:2019-01-03 18:45:33
【问题描述】:

我需要将输入输入到 Excel 中的参数查询中,写入特定单元格。这甚至可能吗?

为了更好理解,这里是从 SQL 服务器中拉取数据的 SQL 语句

{call dbo.SWMF_MXSalesJW (?,?)} 

因此,当刷新连接并出现输入参数的框时,无论用户输入什么日期,我都需要将该值写入 Excel 单元格 Z1。

【问题讨论】:

  • 不,它没有。我不是在问如何使用参数化查询。我在问如何将用户输入的参数写入单元格。不是来自 SQL 的数据或如何使用单元格数据作为参数值。
  • 请阅读提出的问题。您误解了 teylyn 的要求。

标签: sql excel parameter-passing


【解决方案1】:

尝试在您的过程中再添加一个参数

alter procedure sp_test
     @dt_start date
    ,@dt_end date
    ,@need_params_back bit = 0 -- new param
as
begin
    if @need_params_back = 0
    begin
        -- here is your code, for example:
        select 1 as value
        union all 
        select 2
    end
    else
    begin
        -- returning your params
        select 
             @dt_start  as dt_start
            ,@dt_end    as dt_end
    end 
end

并在 excel 中调用它两次: 第一次(我们将其命名为 Q1),need_pa​​rams_back = 1,

{call dbo.sp_test(?,?,1)}

您不需要在这里将参数映射到单元格,让用户输入它们。

第二次(我们称其为 Q2) - 就像您的问题一样。

{call dbo.sp_test(?,?,0)}

并将参数映射到我们第一个查询 (Q1) 的结果。

但是使用这种方法会导致数据刷新顺序,因为您首先需要更新 Q1,只有在获得结果后,才更新 Q2 和所有其他连接。

希望,我对你的理解是正确的。

【讨论】:

  • 这没有回答问题。您所指示的内容会创建一个参数查询,但不会将值写入单元格(这是我寻求帮助的内容)。如前所述,我不需要帮助来创建参数查询。
  • 我已经重写了这个问题,看看这是否有助于传达我的要求。
  • 我已经重写了答案,希望现在它可以满足您的问题。
  • 我确实需要将输入的参数映射到一个单元格。是否可以将用户输入的参数写入单元格?
  • 是的。连接属性->定义->“参数...”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-19
  • 1970-01-01
相关资源
最近更新 更多