【问题标题】:Suppress Section conditionally based on item in details根据详细信息有条件地抑制部分
【发布时间】:2018-01-29 08:02:49
【问题描述】:

假设我的详细信息中有这些数据

  1. 项目一
  2. 项目二
  3. 项目三
  4. 第四项
  5. 第五项

如果“详细信息部分”中有“项目三”,我想取消(隐藏)“页脚部分 C”。

有什么好的技巧可以做到这一点吗?我尝试制作一个公式并将其放在详细信息部分中,然后将值传递到参数字段但仍然没有结果。

我希望你能在这里帮助我。谢谢

注意:

我一直在做什么。

创建 2 个公式字段,一个名为 january1,另一个名为 janparameter

在包含此脚本的详细信息部分中添加公式字段“january1”

WhileReadingRecords;
if {MyTable.MyItem} = "Item Three"  then
{@janparameter} = "1"
else
{@janparameter} = "0"

在“抑制(不向下钻取)”的“页脚 C 部分”中,我记下了这个脚本

{@janparameter} = "0"

表示如果 {@janparameter} 值等于“0”,则“页脚 C 部分”将被抑制。但这对我来说根本不起作用。我希望有人能解开这个谜。

【问题讨论】:

    标签: crystal-reports


    【解决方案1】:

    在详细信息部分的抑制公式中添加以下代码:

    {MyTable.Item} = "Item Three"
    

    {MyTable.Item} 应替换为数据库表的相应字段。
    以上是以下的简短版本:

    If {MyTable.Item} = "Item Three" Then True Else False
    

    这意味着,如果项目是"Item Three",则取消该部分,否则显示该部分。

    编辑 1:

    由于目标是抑制页脚而不是详细信息部分,因此上述解决方案不起作用。

    参数不能像变量一样使用。此外,{@janparameter} 是公式而不是参数。参数以问号? 开头,而不是@

    如果{MyTable.MyItem} 的值为“第三项”并且@janparameter 的值为1,则january1 公式当前所做的是在适当的详细信息上返回True。如果不是,则返回False

    要实现你想要的,你可以使用一个变量。
    @january1-公式的代码替换为以下内容:

    WhilePrintingRecords;
    booleanVar ItemThreeFound;
    If {MyTable.MyItem} = "Item Three" Then ItemThreeFound := True;
    

    ...在“Footer Section C”的抑制公式中加入以下内容:

    WhilePrintingRecords;
    booleanVar ItemThreeFound;
    

    编辑 2:

    要获得相反的行为,只需添加Not

    WhilePrintingRecords;
    Not booleanVar ItemThreeFound;
    

    【讨论】:

    • 您的意思是使用数据库字段作为参数?真的可以吗?我的意思是我还是新手,但我虽然不能更改数据库字段值,但它的格式除外,所以我一直在使用参数字段。例如` if right({Invoice.ItemCode},7) = "2305580" then {@janparameter} = "1" ` 但是,当我在我想隐藏的部分的抑制部分中使用@janparameter 时。即使有“第三项”它仍然会出现
    • 这个公式不会改变值。它只会与字符串“第三项”进行比较,如果相等,则该部分将被抑制。根本不需要参数字段。
    • 哦,如果我的问题不是细节,我很抱歉,我想要抑制的不是“细节部分”而是“页脚部分 c”。如果我把它放在抑制公式中,相同的公式是否也会起作用?
    • 不,它不会像这样工作。请编辑您的问题并添加详细要求。
    • 好的,刚刚编辑了问题。我希望你能再次帮助我。
    猜你喜欢
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    相关资源
    最近更新 更多