急 搞到这就不晓得杂搞了 请各位帮帮忙 我在线恭候大家的 指导(10分)

  • 主题发起人 主题发起人 xiulouu
  • 开始时间 开始时间
X

xiulouu

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm2.FormShow(Sender: TObject);
var
i,j,pos,ii:integer;
TempCXtotal:string;
Total:integer;
A:Array of Array of String;
hasbeen:boolean;
begin
total:=Form1.ADOTable1.RecordCount;
setlength(A,total,total);
for i:=0 to total-1do
for j:=0 to total-1do
A[i,j]:='0';
{-------------------------------------------}
pos:=0;hasbeen:=false;
A[pos,0]:=Form1.ADOTable1.FieldByname('是否超标').Asstring;
if total>1 then
begin
Form1.ADOTable1.First;
while not Form1.ADOTable1.Eofdo
begin
hasbeen:=false;
for i:=0 to posdo
if A[i,0]=Form1.ADOTable1.FieldByname('是否超标').Asstring then
begin
A[i,1]:=inttostr(strtoint(A[i,1])+1);
hasbeen:=true;
end;
if not hasbeen then
begin
inc(pos);
A[pos,0]:=Form1.ADOTable1.FieldByname('是否超标').Asstring;
A[pos,1]:=inttostr(strtoint(A[pos,1])+1);
end;
Form1.ADOTable1.Next
end;
{while}

{--------------------------}
ii:=0;
for i:=0 to total-1do
begin
inc(ii);
if A[i,0]<>'0' then
TempCXtotal:=TempCXTotal+A[i,0]+':'+A[i,1]+'人'+' ';
if ii>=11 then
begin
TempCXtotal:=TempCXTotal+chr(13);
ii:=0;
end;
end;
end;
QRLabel7.Caption:=TempCXTotal;
QuickRep1.preview;
上面的是 我对 未超标部分 的统计并显示 方法
但我的数据打印出来 需要 对 退休的 和未退休的 予以区分 我就不晓得杂搞了
例数据库如下:
姓名 年龄 退休时间 补贴金额 是否超标
A 1 0 10 否
B 2 1995 0 是
C 3 2003 10 否
D 4 0 0 是
E 23 0 22 否
F 21 1999 16
打印出来结果为
姓名 年龄 退休时间 补贴金额
A 1 0 10
B 2 1995 0
C 3 2003 10
D 4 0 0
E 23 0 22
F 21 1999 16
共 6人 其中 退休 3人 应补贴人数 2人 应补 26 元 未退休 3人 应补贴人数2 应补32元
 
上面我写的太复杂了点 我想能不能如下 解决问题
例数据库如下:
姓名 年龄 退休时间 补贴金额 是否超标
A 1 0 10 否
B 2 1995 0 是
C 3 2003 10 否
D 4 0 0 是
E 23 0 22 否
F 21 1999 16
if ADOTable['退休时间']>0 then

a=所有退休时间大于零的 人 补贴金额之和
if ADOTable['退休时间']=0 then
b=所有退休时间等于零的 人 补贴金额之和
这样就可以 分别计算出 退休 的要补贴多少 和没退休 的要补贴多少
 
后退
顶部