不同组之间使用连贯序号

在快逸报表软件有一个组内序号的功能。该功能主要是为了给分组或者查询出来的数据进行排序,可以通过“=&左主格名”(如=&A2)和“seq(左主格名)”(如=seqA2))来实现.

该功能简单实用,能满足很大一部分客户的需求。而且该功能一般是给同一个组中的记录来排序。

可是需求总是千变万化的。有时候我们可能需要给一个甚至是多个数据集中的不同组的数据进行连贯排序,如下图:

(这里我以同一个数据集中,不同组的数据来排序为例子)

我们需要给“城市”和“地区”扩展出来的数据进行连贯排序,以达到如下图所示的效果:

由于“地区”和“城市”是两个不同的组,而想让它们所扩展出来的格子的序号连贯起来,其中左主格的设置就非常关键了!

看上去确实是这样,其实不然!

下面就让我们来看一下这种效果是如何实现的:

第一步:

定义数据集:SELECT 客户.地区,客户.城市 FROM 客户

第二步:

设计表:

A1的左主格设置为B1,A2的左主格设置成B2.请注意A1中的内容:=&B2+MAX(A1{}).

其意思就是:A2依然是根据B2来进行扩展,序号也是从1开始的,但是每次扩展的时候,给A2中序号的值再加上A1所扩展出来的最大值。

换句话说,如果A1中的序号是123,那么A1中的最大值就是3.A2开始扩展的时候,其初始值是1,然后用1加上3,那么其值就变成了4.A2扩展出第二格的时候,其初始值是2,用2加上3,其值就变成了5

以此类推,就可以实现不同组间序号连贯了!

热门文章