0

我正在尝试找到一个公式,该公式将根据选择的前两个参数为我带来记录,然后是基于所选前两个参数的公式中的其他参数。所以这就是我到目前为止所拥有的。我遇到的问题是,如果没有选择所有公式,那么我就没有什么可以在报告上打印的了。因此,如果我选择 {Sig1} 和 {Sig4},报告将显示为空白。

{table.client} = {?client#} and
{table.signature1} = {?Sig1}
//to then bring only the below selected parameters based from the {client#} and {?Sig1}
parameters. Not all parameters will be selected as well.
({table.signature2} = {?Sig2} or {?Sig2} = "") or
({table.signature3} = {?Sig3} or {?Sig3} = "") or
({table.signature4} = {?Sig4} or {?Sig4} = "") 

任何帮助都非常感谢提前。希望我很清楚

4

1 回答 1

0

几件事:

  1. 您没有在公式的第一部分和第二部分之间使用任何连接词(在您检查 {?Sig1} 之后)。我猜这是一个错字,因为 CR 会给你一个错误。

  2. 括号什么都不做,因为 OR 运算符是可交换的。这令人困惑,可能至少是下一个问题的部分原因......

  3. 只有注释后的语句之一需要评估为 TRUE,才能使注释下方的整个部分评估为 TRUE。因此,如果您为 {?Sig2} 输入一个值但将 {?Sig3} 留空,您仍然会返回所有记录,因为{?Sig3}=""计算结果为 TRUE。要解决此问题,您需要在每行之间使用 AND 运算符。

{table.client} = {?client#}
and {table.signature1} = {?Sig1}
and ({table.signature2} = {?Sig2} or {?Sig2} = "") //note that the parens are required here
and ({table.signature3} = {?Sig3} or {?Sig3} = "") // since AND takes precedence
and ({table.signature4} = {?Sig4} or {?Sig4} = "")
于 2012-08-27T20:38:33.233 回答