报告的多个可选参数

时间:2017-07-06 11:16:12

标签: parameters crystal-reports

我的报告有2个必需参数(Source; Location和2个可选参数Access Type; Access Complication)我已经测试了查询并且可以证明它正常工作。如果我填写每个参数,报告也会有效。

如果没有并发症,所有并发症都应该恢复,但没有患者。如果仅选择访问类型,则应该获得具有分配给所选访问类型的所有并发症的患者列表。但如果遗漏了其中一个参数,我会得到 no 记录。

我在选择专家中尝试了这个hasvalue公式,但无济于事

(not hasValue({?AccessType}) OR {Command.AccessType} = {?AccessType})
 and
(not hasValue({?AccessComplication) OR {Command.AccessComplication} <= {?AccessComplication})

如果我在选择专家中为Access Type设置了新公式,那么对于使用上述hasvalue公式的Access Complication,那么我做的第二个覆盖第一个公式。它们似乎不能彼此并存

1 个答案:

答案 0 :(得分:2)

在公式中使用时,可选参数成为必需参数。故事结局。

要实现类似的功能,请将您的参数发送为all*(这意味着SQL中的所有记录)。在选择所有数据之前,请检查“可选”参数值,如果他们有all*编写选择公式而不包含这些参数。

对于2个强制性和2个可选参数,伪代码应如下所示:

if param3 = "all" or param4 = "all"
    if param3 = "all" and param4 = "all" select data only with param1 and param 2
    else
        if param3 = "all" select data without param3
        if param4 = "all" select data without param4
else select data with all params