4,816
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
公式x1:
WhilePrintingRecords;
//以下三变量为共享变量
Shared NumberVar Array ary; //数组ary 用来保存不同编号
Shared NumberVar nSum := 0; //用来保存数量和,即最后所要的结果
Shared NumberVar i := 0; //数组ary当前长度
公式x2:
WhilePrintingRecords;
NumberVar Array ary;
NumberVar nSum;
NumberVar i;
If Not ({DataTable1.编号} in ary) Then //若当前编号不在ary数组中
(
i := i + 1; //数组长度加1
Redim Preserve ary[i]; //保留原数组
ary[i] := {DataTable1.编号};// 把当前编号加到数组中
nSum := nSum + {DataTable1.数量}; //增加当前编号对应的数量
)
公式x3:
WhilePrintingRecords;
NumberVar nSum; //最终所要结果