1

我目前正在将 SQL 2008 R2 与 SQL Server Report Service 2008 一起使用。我正在使用以下参数创建报告 - Staff_name、Client_name、Lab、lab_date 等。当用户选择员工名称时,他们所服务的客户端将填充一个下拉列表-下来供他们选择,这很好用。当用户选择客户端时,客户端实验室将填充实验室下拉菜单。我有一个 SP,它返回所选实验室的实验室数据集的值,如果选择了“新实验室”,则返回空值。问题是,如果我默认 Lab 下面的参数,例如。Lab_date,从 sp 中选择适当的变量,然后选择一个 Lab,然后选择“New Lab”,Lab_date 不为空。

IF @ClientLabId <> 'New Lab' BEGIN
SELECT 
cc.Date_Lab_Test_Ordered, cc.Ordering_Provider, cc.Provider_Specialty, 
cc.Provider_Contact, cc.Desc_of_Order, cc.Date_Order_Filled, 
cc.Date_Receipt_Verified
FROM CCMT_Lab_Test_Orders_Tracking cc
WHERE cc.Client_Lab_Id = @ClientLabId 
AND cc.RecordDeleted = 'N'
END
IF @ClientLabId = 'New Lab' BEGIN
SELECT ' ',' ',' ',' ',' ',' ',' '
END

我已经尝试过 NULL、''、'',只要您不选择实际实验室,报告就会显示这些值。我知道当 SP 设置为默认值时,SP 的第一部分会发送数据。这是“新实验室”部分,我无法弄清楚在擦除后选择“新实验室”时需要发送到 SSRS 以获取值。我们希望员工不必重新输入数据两次,并尽可能多地消除数据错误。

作为一个事后的想法 - 有没有办法强制报告在执行后完全刷新。每次用户单击查看报告时,报告只会刷新为新的,而不是退出报告并返回报告?

4

2 回答 2

1

您缺少列名。尝试:

SELECT 
' ' as Date_Lab_Test_Ordered, ' ' as Ordering_Provider, ' ' as Provider_Specialty, 
' ' as Provider_Contact, ' ' as Desc_of_Order, ' ' as Date_Order_Filled, 
' ' as Date_Receipt_Verified
于 2013-01-23T22:19:05.830 回答
0

在查看了不同的论坛并与几位 IT 专业人士交谈后,我决定创建两个单独的表单。一个用于插入,一个用于更新,因为 SSRS 似乎没有执行单个表单的功能。

于 2013-01-25T18:35:26.953 回答