【问题标题】:Using logical OR with Crystal Reports parameter对 Crystal Reports 参数使用逻辑 OR
【发布时间】:2012-09-01 16:30:07
【问题描述】:

我正在使用 Visual Studio 2010 中的 Crystal Reports,我有各种不同的参数和提示供用户过滤出他们想要的特定数据。例如,我有一个帐户参数和一个动态填充的产品名称参数。默认情况下,如果用户为这些参数中的每一个(例如账户 A 和产品 B)选择过滤器,则会执行逻辑与。仅返回包含帐户 A 和产品 B 的行。

有没有办法让它表现为 OR 或 AND(用户指定?)所以我可以返回帐户 A OR 产品 B 的所有行

我知道更改我的公式以将其视为 OR 很容易,但我真正希望用户能够以某种方式指定参数是否应视为 AND 或 OR .

【问题讨论】:

  • 您是否在报告的记录选择公式中看到类似 {@Account} = {Table.Account} AND {@ProductName} = {Table.ProductName} 的内容?
  • 到目前为止,我编写公式的方式是一系列 if 语句检查参数值: if HasValue({?Account Name}) then {AlgorithmActivity.Account} = {?Account Name } else True and if HasValue({?Product Name}) and IsNull({?Product Name Manual Entry}) then {AlgorithmActivity.ProductName} = {?Product Name} else True

标签: c# crystal-reports


【解决方案1】:

如果我的理解正确,您可以传入第三个字符串参数,称为{?Logic},其中包含“AND”或“OR”,然后您可以这样做:

IF {?Logic} = "AND"
' Do your AND code here
ELSE
' Do your OR code here

我意识到您基本上是在重复查询,一次使用 AND,一次使用 OR,但只要查询不太麻烦,这可能是最简洁的方法。

【讨论】:

  • 这真是个好主意。我目前对事情的运作方式很好,但高层正试图确定他们在为报告选择数据时是否需要这种灵活性。如果他们想继续前进,我一定会使用它。
猜你喜欢
  • 2021-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多