with adoquery3 do
begin
close;
sql.Clear;
sql.Text:='select * from dsum';
execsql;
active:=true;
first;
end;
with adoquery4 do
begin
close;
sql.Clear;
sql.Text:='select * from mcwtemp';
execsql;
active:=true;
first;
end;
with adoquery2 do
begin
close;
sql.Clear;
sql.Text:='select * from mout where mth like ''%'+trim(yf)+'%''';
execsql;
active:=true;
first;
showmessage(sql.Text);
end;
rsr:=0;
rzc:=0;
zzc:=0;
yye:=0;
lsr:=0;
sou:=0;try
while (not adoquery2.Eof) or (not adoquery3.Eof) do
begin
if not adoquery3.Eof then
while not adoquery3.Eof do
begin
if copy(trim(adoquery3.fieldbyname('date').AsString),7,1)='-' then
if copy(trim(adoquery3.fieldbyname('date').AsString),6,1)=trim(yf) then
begin
da:=adoquery3.fieldbyname('date').AsString;
rsr:=adoquery3.fieldbyname('lsmn').AsFloat;
rzc:=rzc+rsr;
if not adoquery2.eof then
begin
zc:=adoquery2.fieldbyname('mouna').AsString;
zzc:=adoquery2.fieldbyname('moume').AsFloat;
op:=adoquery2.fieldbyname('oper').AsString;
sou:=sou+zzc;
end
else
begin
zc:='';
zzc:=0;
op:='';
sou:=sou+zzc;
end;
end
else
if copy(trim(adoquery3.fieldbyname('date').AsString),6,2)=trim(yf) then
begin//7
da:=adoquery3.fieldbyname('date').AsString;
rsr:=adoquery3.fieldbyname('lsmn').AsFloat;
rzc:=rzc+rsr;
if not adoquery2.eof then
begin//8
zc:=adoquery2.fieldbyname('mouna').AsString;
zzc:=adoquery2.fieldbyname('moume').AsFloat;
op:=adoquery2.fieldbyname('oper').AsString;
sou:=sou+zzc;
end
else
begin
zc:='';
zzc:=0;
op:='';
sou:=sou+zzc;
end;
end;
adoquery4.InsertRecord([da,rsr,zc,zzc,op,rzc,sou,rzc-sou]);
adoquery3.Next;
adoquery2.Next;
end
else
begin
while not adoquery2.Eof do
begin
zc:=adoquery2.fieldbyname('mouna').AsString;
zzc:=adoquery2.fieldbyname('moume').AsFloat;
op:=adoquery2.fieldbyname('oper').AsString;
sou:=sou+zzc;
da:='';
rsr:=0;
rzc:=rzc+rsr;
adoquery4.InsertRecord([da,rsr,zc,zzc,op,rzc,sou,rzc-sou]);
adoquery2.Next;
end;
end;
end
begin
close;
sql.Clear;
sql.Text:='select * from dsum';
execsql;
active:=true;
first;
end;
with adoquery4 do
begin
close;
sql.Clear;
sql.Text:='select * from mcwtemp';
execsql;
active:=true;
first;
end;
with adoquery2 do
begin
close;
sql.Clear;
sql.Text:='select * from mout where mth like ''%'+trim(yf)+'%''';
execsql;
active:=true;
first;
showmessage(sql.Text);
end;
rsr:=0;
rzc:=0;
zzc:=0;
yye:=0;
lsr:=0;
sou:=0;try
while (not adoquery2.Eof) or (not adoquery3.Eof) do
begin
if not adoquery3.Eof then
while not adoquery3.Eof do
begin
if copy(trim(adoquery3.fieldbyname('date').AsString),7,1)='-' then
if copy(trim(adoquery3.fieldbyname('date').AsString),6,1)=trim(yf) then
begin
da:=adoquery3.fieldbyname('date').AsString;
rsr:=adoquery3.fieldbyname('lsmn').AsFloat;
rzc:=rzc+rsr;
if not adoquery2.eof then
begin
zc:=adoquery2.fieldbyname('mouna').AsString;
zzc:=adoquery2.fieldbyname('moume').AsFloat;
op:=adoquery2.fieldbyname('oper').AsString;
sou:=sou+zzc;
end
else
begin
zc:='';
zzc:=0;
op:='';
sou:=sou+zzc;
end;
end
else
if copy(trim(adoquery3.fieldbyname('date').AsString),6,2)=trim(yf) then
begin//7
da:=adoquery3.fieldbyname('date').AsString;
rsr:=adoquery3.fieldbyname('lsmn').AsFloat;
rzc:=rzc+rsr;
if not adoquery2.eof then
begin//8
zc:=adoquery2.fieldbyname('mouna').AsString;
zzc:=adoquery2.fieldbyname('moume').AsFloat;
op:=adoquery2.fieldbyname('oper').AsString;
sou:=sou+zzc;
end
else
begin
zc:='';
zzc:=0;
op:='';
sou:=sou+zzc;
end;
end;
adoquery4.InsertRecord([da,rsr,zc,zzc,op,rzc,sou,rzc-sou]);
adoquery3.Next;
adoquery2.Next;
end
else
begin
while not adoquery2.Eof do
begin
zc:=adoquery2.fieldbyname('mouna').AsString;
zzc:=adoquery2.fieldbyname('moume').AsFloat;
op:=adoquery2.fieldbyname('oper').AsString;
sou:=sou+zzc;
da:='';
rsr:=0;
rzc:=rzc+rsr;
adoquery4.InsertRecord([da,rsr,zc,zzc,op,rzc,sou,rzc-sou]);
adoquery2.Next;
end;
end;
end
EXECSQL;
Active:=True;
改为
Open;