0

我有一个独特的问题,我什至不确定是否可能。

我有一份报告,每组有几个组标题。我想做的是让选择组标题(GH1a、GH1p、GH1w...)有一个自动递增的数字,然后我将使用 roman(@function) 将其转换为罗马数字。编号将与实际组的数量无关,仅与组标题无关。可能有 1 到 100,000 条记录(组)返回到报告中,但对于每个记录(组),每个组中的组标题将选择编号相同的组标题

前任:

A组

GH1a:  I
GH1b:  
GH1c:  II
GH1d:  III
GH1e:
GH1f:
GH1g:  IV

B组

GH1a:  I
GH1b:  
GH1c:  II
GH1d:  III
GH1e:
GH1f:
GH1g:  IV

ETC....

任何帮助,将不胜感激。我尝试在报告标题和我想使用以下代码递增的每个 GH 中使用全局变量 x:

在报告头和/或 GH1a //@iCountreset

    Global NumberVar iCount:=1;

在我想要递增的每个 GH 中 //@iCounted

    Global Numbervar iCount;
    iCount:= iCount+1;

然后第二个将其罗马化 //@RomanCount

    roman(@iCounted);

我目前对它们进行了硬编码,但正在尝试将几个 rpt 文件组合成一个,唯一的区别是某些 GH 部分将被抑制,因此不计入编号。

先感谢您。

4

1 回答 1

0
//{@reset}
WhilePrintingRecords;
Global Numbervar G1:=1;

//{@increment}
WhilePrintingRecords;
Global Numbervar G1:=G1+1;

//{@roman}
Roman({@increment})

** 编辑 **

瑞恩的评论是正确的。我的新方法使用子报表来增加共享变量,这很有效。

脚步:

添加“主”报告的{@reset} GH1a;压制

//{@reset}
WhilePrintingRecords;
Shared Numbervar G1:=0;

创建子报告;将其置于 GH1b 中;将这些公式添加到其中:

添加到详细信息部分;压制:

//{@increment}
WhilePrintingRecords;
Shared Numbervar G1:=G1+1;

添加到详细信息部分:

//{@roman}
Roman({@increment})

您需要将此子报表添加到需要罗马数字计算的每个部分。为了让这个过程不那么痛苦,导出子报表(“将子报表另存为”),然后重新插入它。

于 2012-05-08T19:22:11.693 回答