Crystal reports 如何筛选crystal report,以便在一个JobID为ProductionComplete时,也会显示具有相同前5位数字的所有其他JobID

Crystal reports 如何筛选crystal report,以便在一个JobID为ProductionComplete时,也会显示具有相同前5位数字的所有其他JobID,crystal-reports,suppress,startswith,Crystal Reports,Suppress,Startswith,我对crystal reports非常陌生,我的代码问题并不复杂,但我正在努力找到正确的结构 我有jobID,如果它们来自同一个SalesOrderID,那么它们都以相同的前5位数字开头。它们开头的五位数字是salesID号 我想在SalesOrderID下显示所有作业ID,如果生产仅在其中一个作业ID上完成 if {Jobs.jmpProductionComplete} =-1.00 then ( If {Jobs.jmpJobID} startswith left({Jobs.jmpJ

我对crystal reports非常陌生,我的代码问题并不复杂,但我正在努力找到正确的结构

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

我想在SalesOrderID下显示所有作业ID,如果生产仅在其中一个作业ID上完成

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}))
)
但这只显示了标记为Production Complete的单个作业ID

接下来我试着:

if {Jobs.jmpProductionComplete} =-1.00  then
(
  If {Jobs.jmpJobID} startswith left({Jobs.jmpJobID},5)
  then not(isnull({Jobs.jmpJobID}))
)
  • 使用以下代码创建了一个公式: 左({Jobs.jmpJobID},5) 将其命名为@jobidformula

  • 转到组专家>将此公式移动到组列表

  • 已抑制组页眉和页脚

  • 转到报告>选择公式>组并使用以下代码:

    Minimum({Jobs.jmpProductionComplete}, {@jobidformula}) = -1
    

  • 还是不行。还有其他人能给我的建议吗?

    我想出来了

    我首先是这样做的,即我的报告仅显示按salesOrderID分组的生产完成的作业ID

    我制作了一个子报表,其中的参数是SalesOrderID

    在选择公式中,我将其设置为不完成生产。
    我把他们都排好了,瞧!它毫无问题地工作

    我知道了!首先,我制作了一个子报表,其中参数是salesOrderID,在选择公式中,我设置了它,使生产未完成。我把他们都排好了,瞧!它毫无问题地工作。