上述两数据库的结构分别为:
B_BASETJ.DB B_INFO.DB 字段名字段类型字段长度字段名字段类型字段长度
dw a 4(单位代码)shbzcode a 21(社会保障号码)
shbzcode a 21(社会保障号码)attribution a 10(工作属性)
cadre_zw a 4(干部职务)sex a 2(性别)
procedure TT1FORM.FormCreate(Sender:TObject);{在创建窗体T1FORM时生成表格并填写统计值}
VAR R
I
K
J:INTEGER;
begin
WITH SGLLdo
begin
CELLS[0
0]:=’单位’{填写第0行各列标题}
CELLS[1
0]:=’总人数’;
CELLS[2
0]:=’固定’;
CELLS[3
0]:=’合同’;
CELLS[4
0]:=’干部’;
CELLS[5
0]:=’工人’;
FOR I:=1 TO 5do
begin
CELLS[I
1]:=INTTOSTR(0);
end;
end;
WITH QUERYTB1do
begin
SQL.CLEAR;
SQL.ADD(‘SELECT DW
COUNT(DW)FROM B_BASETJ F
B_INFO E’);
SQL.ADD(‘WHERE F.”SHBZCODE”=E.”SHBZCODE”GROUP BY DW’);
OPEN;
R:=RECORDCOUNT+2;
SG11.ROWCOUNT:=R;
SG11.CELLS[0
1]:=’合计’;
FIRST;
K:=R;
FOR J:=2 TO Kdo
begin
SG11.CELLS[0
J]:=FIELDS[0].ASSTRING;{填写第0列单位号}
NEXT;
end;
I:=1;
COL(I
K);{填写第1列合计}
SQL.CLEAR;
SQL.ADD(‘SELECT DW
COUNT(E.”DW”)’);
SQL.ADD(‘FROM“B_BASETJ.DB”E
B_INFO F WHERE E.”SHBZCODE”=F.”SHBZCODE”AND F.”ATTRIBUTION”=”固定职工”GROUP BY DW’);
I:=2;
OPEN;
COL(I
K);{填写第2列各单位固定工人数}
SQL.CLEAR;
SQL.ADD(‘SELECT DW
COUNT(E.”DW”)’);
SQL.ADD(‘FROM“B_BASETJ.DB”E
B_INFO F WHERE E.”SHBZCODE”=F.”SHBZCODE”AND F.”ATTRIBUTION”=”农民合同工”GROUP BY DW’);
I:=3;
CC(I
K);{填写第3列各单位合同工人数}
SQL.CLEAR;
SQL.ADD(‘SELECT DW
COUNT(E.”DW”)’);
SQL.ADD(‘FROM“B_BASETJ.DB”E
B_INFO F
WHERE E.”SHBZCODE”=F.”SHBZCODE”AND F.”CADRE_ZW”<>””GROUP B Y DW’);
I:=4;
OPEN;
COL(I
K);{填写第4列各单位干部人数}
I:=5;
CC(I
K);{填写第5列各单位工人人数}
end;