如何过滤水晶报告,以便如果一个JobID是ProductionComplete,所有其他具有相同前5位数的jobID也将显示

时间:2013-08-27 19:34:28

标签: crystal-reports suppress startswith

我对水晶报道很新,我的代码问题并不复杂,但我正在努力寻找合适的结构。

我有jobID,如果它们来自相同的SalesOrderID,则所有前5个数字都是相同的。他们开头的五位数是salesID号。

如果生产只在其中一个上完成,我想在SalesOrderID下显示所有JobID。

if {Jobs.jmpProductionComplete} =-1.00
 then
(
  If {Jobs.jmpJobID} startswith left({Jobs.jmpJobID},5)
  then {Jobs.jmpJobID}
  else  ""
)

但是这产生了一个错误,说“选择公式的结果必须是布尔值”

接下来我尝试了:

if {Jobs.jmpProductionComplete} =-1.00  then
(
  If {Jobs.jmpJobID} startswith left({Jobs.jmpJobID},5)
  then not(isnull({Jobs.jmpJobID}))
)

但是只显示了标记为“生产完成”的单个JobID。

接下来我尝试了:

  1. 使用以下代码创建公式: 左({Jobs.jmpJobID},5) 将其命名为@jobidformula

  2. 转到群组专家>将此公式移至“组列表”

  3. 禁止群组页眉和页脚

  4. 转到报告>选择公式>分组并使用此代码:

    Minimum({Jobs.jmpProductionComplete}, {@jobidformula}) = -1
    
  5. 仍然无法正常工作。任何人都可以给我的任何其他指示?

1 个答案:

答案 0 :(得分:0)

我明白了!

我首先这样做,以便我的报告只显示生产完成的JobIDs,按salesOrderID分组

我创建了一个子报表,其中参数是SalesOrderID

在选择公式中我将其设置为生产不完整。 我把它们排成一行并且vooila!它没有问题。