是否可以将参数查询参数写入单元格

时间:2019-01-03 18:45:34

标签: sql excel parameter-passing

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

为了更好地理解,这是从SQL Server中提取数据的SQL语句

{call dbo.SWMF_MXSalesJW (?,?)} 

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

1 个答案:

答案 0 :(得分:0)

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

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和所有其他连接。

希望我已经正确理解了你。