我目前正在使用 SQL 2008 R2 和 SQL Server Report Service 2008。我正在使用以下参数创建报告 - Staff_name、Client_name、Lab、lab_date 等。当用户选择 Staff 名称时,他们服务的客户端将填充一个下拉列表 -下来让他们选择,这效果很好。当用户选择客户端时,客户端实验室将填充实验室下拉列表。我有一个 SP,它返回所选实验室的实验室数据集的值,如果选择“新实验室”,则返回空值。问题是,如果我默认实验室下面的参数,例如。 Lab_date,使用 sp 中的适当变量,然后选择一个实验室,然后选择“新实验室”,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 以获得值的内容。我们希望员工不必重新输入数据两次,并尽可能消除数据错误。
作为事后的想法 - 有没有办法强制报表在执行后完全刷新。每次用户单击“查看报告”时,报告都会刷新为新报告,而不是退出报告并返回?