日期:2014-05-20 浏览次数:21076 次
/// <summary>
/// 新建三个公式字段x1,x2,x3
/// </summary>
公式x1:
WhilePrintingRecords; 
StringVar Array  ary; //数组ary 用来保存不同银行
NumberVar nSum := 0;  //用来统计RMB,即最后所要的结果
NumberVar i := 0;     //数组ary当前长度
公式x2:
WhilePrintingRecords; 
StringVar 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.RMB}; //累加当前银行对应的RMB
)
公式x3:
WhilePrintingRecords; 
NumberVar nSum; //最终所要结果
------解决方案--------------------
本来数据是     按4楼的方法得到的数据 对比
条件为1100
的列
880           890    正常
89100        89980 正常
11200         101180 正常
11200         0 不显示正常(按4楼的方法得到的,正常)
11200         0 不显示正常
150 101330 正常
600 101930 正常
00 102430 由于是条件为1100,所以显示为00,加起来是102430是因为把非1100的那一列加起来了,是显示在
         1200的列的数据加到这里来。
880 103310
20000 123310
00 123510
1427 124937
00 125937
00 127587