1

真正快速 - 我想显示在我选择的特定参数日期之前发生的最后一个明细记录。我试图写这样的事:水晶:显示第N个记录基于关参数

recordnumber = count(({assign.date} > {?Date}) - 1)

recordnumber = onlastrecord - count({assign.date} > {?Date}) - 1

当我点击 '查询' 它突出assign.date,并指出 “A场在这里需要”

每当我谷歌这一点,我看到真正复杂的答案,我觉得应该是非常简单的东西;而我对Crystal没有足够的了解来部署其中一个复杂的答案。

+0

取消所有其他详细记录?报告如何分类? – craig

+0

我按客户#排序。该报告目前显示如下内容: 客户端#|||开始日期|||分配的员工 5 ||| 1/1/2013 ||| Marc 5 ||| 2/16/2013 |||桑迪 5 ||| 6/1/2013 ||| Josh 我做了一些编程,以便在我的{?Date}参数后切断分配,但是我无法切断除最近的员工分配以外的所有分配。这样做的目标是能够说出(使用参数)“谁在2013年3月1日为我们的客户服务”并为每个人获得正确的答案。 – Tom

回答

0

按下面的步骤

  • 创建一个新的公式字段,它LastDate_Details名,并添加公式编辑器中下面的代码。

    WhilePrintingRecords; 
    
    Shared DateVar LastDate; 
    
    if CDate({assign.date}) < CDate({?Date}) then 
        LastDate:= CDate({assign.date}) 
    
  • 拖动并在细节部分地方降的公式字段并用鼠标右键点击该场压制它 - >设置对象格式 - > Common选项卡 - >和检查抑制复选框。

  • 创建另一个名为LastDate_Footer的公式,并添加以下代码。

    Shared DateVar LastDate; 
    
  • 将新公式字段拖放到页脚部分。

编辑

有关在Crystal Reports变量范围更多信息,请this

+1

除非将值传递给子报表,否则不需要使用“共享”变量。改为使用'Global'。 – craig

+0

你说得对。我通常根据自己的编程习惯将它们声明为Shared。感谢您的通知。 –

+0

我试图制作新的公式字段,当我点击“检查错误”时,突出显示{assign.date}状态“此处需要日期 - 时间”? – Tom