我需要将输入内容输入到Excel中写入特定单元格的参数查询中。这有可能吗?
为了更好地理解,这是从SQL Server中提取数据的SQL语句
{call dbo.SWMF_MXSalesJW (?,?)}
因此,当连接刷新并且出现输入参数的框时,无论用户输入什么日期,我都需要将该值写入Excel单元格Z1。
答案 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_params_back = 1
{call dbo.sp_test(?,?,1)}
您无需在此处将参数映射到单元格,让用户输入它们。
第二次(我们称之为Q2)-如您所提。
{call dbo.sp_test(?,?,0)}
并将参数映射到我们的第一个查询(Q1)的结果。
但是使用这种方法会导致数据刷新顺序,因为首先需要更新Q1,并且只有在获得结果之后才更新Q2和所有其他连接。
希望我已经正确理解了你。