📄 bustradecszhyearrepunit.~pas
字号:
//添加GZ137指标值
if(ADOQuery3.locate('指标代码','TO43',[]))then
numstr1:=ADOQuery3.fieldbyname('本年实际').asfloat;
if(numstr1=0)then
begin
ListView7.items[3].subitems[2]:='0';
end else
ListView7.items[3].subitems[2]:=Converter(floattostr(numstr1));
//添加GZ138指标值
if(ADOQuery3.locate('指标代码','TO44',[]))then
numstr1:=ADOQuery3.fieldbyname('本年实际').asfloat;
if(numstr1=0)then
begin
ListView7.items[4].subitems[2]:='0';
end else
ListView7.items[4].subitems[2]:=converter(floattostr(numstr1));
//添加GZ139指标值
if(ADOQuery3.locate('指标代码','TO45',[]))then
numstr1:=ADOQuery3.fieldbyname('本年实际').asfloat;
if(numstr1=0)then
begin
ListView7.items[5].subitems[2]:='0';
end else
ListView7.items[5].subitems[2]:=converter(floattostr(numstr1));
//添加GZ134指标值
if(ADOQuery3.locate('指标代码','TO48',[]))then
numstr1:=ADOQuery3.fieldbyname('本年实际').asfloat;
if(numstr1=0)then
begin
ListView7.items[0].subitems[2]:='0';
end else
ListView7.items[0].subitems[2]:=converter(floattostr(numstr1));
//添加GZ135指标值
if(ADOQuery3.locate('指标代码','TO49',[]))then
numstr1:=ADOQuery3.fieldbyname('本年实际').asfloat;
if(numstr1=0)then
begin
ListView7.items[1].subitems[2]:='0';
end else
ListView7.items[1].subitems[2]:=converter(floattostr(numstr1));
//添加GZ136指标值
if(ADOQuery3.locate('指标代码','TO50',[]))then
numstr1:=ADOQuery3.fieldbyname('本年实际').asfloat;
if(numstr1=0)then
begin
ListView7.items[2].subitems[2]:='0';
end else
ListView7.items[2].subitems[2]:=converter(floattostr(numstr1));
end;
procedure TBusTradeCSZHYearRepFrm.BitBtn3Click(Sender: TObject);
begin
BusTradeCSZHYearRepFrm.close;
end;
procedure TBusTradeCSZHYearRepFrm.FillDatatoZTable();
var i:integer;
begin
ADOQuery2.close;
ADOQuery2.sql.clear;
ADOQuery2.sql.add('select 指标代码,测算值 from 公交行业综合年报_z where 统计年份='+combobox1.text );
ADOQuery2.open;
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from 公交行业综合年报表 where 统计年份='+ComboBox1.Text);
ADOQuery1.Open;
if(ADOQuery1.RecordCount<=0)then
ADOQuery1.Append else
ADOQuery1.Edit;
ADOQuery1.FieldByName('统计年份').AsInteger:=StrToInt(ComboBox1.Text);
ADOQuery1.Fieldbyname('生成方式').asstring:='录入';
ADOQuery2.First;
while not ADOQuery2.Eof do
begin
for i:=0 to 100 do
begin
if((ADOQuery1.Fields[i].FieldName<>'统计年份') and
(ADOQuery1.Fields[i].FieldName<>'城市代码')and
(ADOQuery1.fields[i].fieldname<>'生成方式')and
(ADOQuery1.fields[i].fieldname<>'备注'))then
begin
if(ADOQuery2.FieldByName('指标代码').AsString=ADOQuery1.Fields[i].FieldName)then
begin
if(ADOQuery2.FieldByName('测算值').AsString<>'')then
ADOQuery1.Fields[i].Value:=ADOQuery2.FieldByName('测算值').Value else
ADOQuery1.Fields[i].Value:=0;
end;
end;
ADOQuery2.Next;
end;
for i:=101 to ADOQuery1.FieldCount-1 do
begin
if((ADOQuery1.Fields[i].FieldName<>'统计年份') and
(ADOQuery1.Fields[i].FieldName<>'城市代码')and
(ADOQuery1.fields[i].fieldname<>'生成方式')and
(ADOQuery1.fields[i].fieldname<>'备注'))then
begin
if(ADOQuery2.FieldByName('指标代码').AsString=ADOQuery1.Fields[i].FieldName)then
begin
if(ADOQuery2.FieldByName('测算值').AsString<>'')then
ADOQuery1.Fields[i].Value:=ADOQuery2.FieldByName('测算值').Value else
ADOQuery1.Fields[i].Value:=0;
end;
end;
ADOQuery2.Next;
end;
end;
ADOQuery1.post;
end;
procedure TBusTradeCSZHYearRepFrm.ComboBox1Change(Sender: TObject);
begin
initialcolumn(ListView1);
initialcolumn(ListView2);
initialcolumn(ListView3);
initialcolumn(ListView4);
initialcolumn(ListView5);
initialcolumn(ListView6);
initialcolumn(ListView7);
initialcolumn(ListView8);
end;
procedure TBusTradeCSZHYearRepFrm.BitBtn4Click(Sender: TObject);
var iRow,iCol,iRecNum,i:integer;
begin
if (DeviceDetect=0) then
begin
exit;
end;
if(PrnInfoFrm.ShowModal<>mrOK)then
begin
exit;
end;
PrintInit(ExtractFilePath(Application.ExeName),'BusTradeCSZHSHCHYearTab');
iRow := 1 ;
iRecNum := 1 ;
iCol := 4;
for iRecNum := 0 to 111 do
begin
if (iRecNum>=0) and (iRecNum<=21) then
begin
iRow:=iRecNum+7;
OutputDataToE(ListView1,iRow,iRecNum,iCol);
OutputDataToE(ListView2,iRow,iRecNum,iCol+4);
end
else if (iRecNum>=22) and (iRecNum<=43) then
begin
iRow:=iRecNum+14;
OutputDataToE(ListView3,iRow,iRecNum-22,iCol);
OutputDataToE(ListView4,iRow,iRecNum-22,iCol+4)
end
else if (iRecNum>=44) and (iRecNum<=65) then
begin
iRow:=iRecNum+20;
OutputDataToE(ListView5,iRow,iRecNum-44,iCol);
end
else if (iRecNum>=66) and (iRecNum<=88) then
begin
iRow:=iRecNum-2;
OutputDataToE(ListView6,iRow,iRecNum-66,iCol+4);
end
else if(iRecNum>=89)and (iRecNum<=111)then
begin
iRow:=iRecNum+4;
OutputDataToE(ListView7,iRow,iRecNum-89,iCol);
OutputDataToE(ListView8,iRow,iRecNum-89,iCol+4);
end;
end;
for i:=0 to 3 do
begin
WriteCell(3+i*29,1,'汇总单位:'+label3.Caption);
WriteCell(2+i*29,4,combobox1.text+'年');
WriteCell(29+i*29,1,'统计负责人:' + PrnInfoFrm.StatMainPerson);
WriteCell(29+i*29,4,'统计人员:' + PrnInfoFrm.StatPerson);
WriteCell(29+i*29,6,'填报日期:' + DateToStr(PrnInfoFrm.StatDate));
end;
PrintExcelShow;
PrintPreview;
CloseActiveBook;
end;
procedure TBusTradeCSZHYearRepFrm.OutputDataToE(iSouList:TListView;iCellRows:Integer;iRowsCou:Integer;iCellCols:Integer);
var
//iRowNum:Integer;
iColNum:Integer;
begin
WriteCell(iCellRows,iCellCols,iSouList.Items[iRowsCou].SubItems[2]);
end;
procedure TBusTradeCSZHYearRepFrm.FillMonDataToList();
var i,j:integer;
sqlstr2:string;
begin
sqlstr2:='select 指标代码,测算值 from 公交行业统计月报_z where 统计年份='
+combobox1.text+' and 统计月份=12'+' and 城市代码='+''''+'022'+'''';
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(sqlstr2);
ADOQuery2.open;
for i:=1 to 25 do
begin
if(i>=3)and (i<=5)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView1.Items[i-1].SubItems[2]:='0';
end else
ListView1.Items[i-1].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').asstring);
end;
if(i>=7)and (i<=9)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView1.Items[i+8].SubItems[2]:='0';
end else
ListView1.Items[i+8].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').asstring);
end;
if(i>=10)and (i<=18)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView3.Items[i+2].SubItems[2]:='0';
end else
ListView3.Items[i+2].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').asstring);
end;
if(i>=19)and (i<=25)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView4.Items[i-11].SubItems[2]:='0';
end else
ListView4.Items[i-11].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').asstring);
end;
ADOQuery2.next;
end;
sqlstr2:='select 指标代码, sum(测算值) as 测算值,max(本月实际) from 公交行业统计月报_z '
+' where 统计年份='+ combobox1.Text +' and 城市代码='+''''+'022'+''''+' group by 指标代码';
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(sqlstr2);
ADOQuery2.Open;
//从行业月报中添加企业综合年报数据
for j:=1 to ADOQuery2.recordcount do
begin
if(j>=26)and (j<=28)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView4.Items[j-7].SubItems[2]:='0';
end else
ListView4.Items[j-7].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').AsString);
end;
//添加第五页数据
if(j>=29)and (j<=40)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView5.Items[j-29].SubItems[2]:='0';
end else
ListView5.Items[j-29].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').asstring);
end;
if(j>=41)and (j<=49)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView5.Items[j-28].SubItems[2]:='0';
end else
ListView5.Items[j-28].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').asstring);
end;
//添加第六页数据
if(j>=50)and (j<=62)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView6.Items[j-50].SubItems[2]:='0';
end else
ListView6.Items[j-50].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').asstring);
end;
//添加第七页数据
if(j>=64)and (j<=65)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView7.Items[j-57].SubItems[2]:='0';
end else
ListView7.Items[j-57].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').asstring);
end;
if (j>=67)and (j<=68)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView7.Items[j-57].SubItems[2]:='0';
end else
ListView7.Items[j-57].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').asstring);
end;
if (j>=70)and (j<=71)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView7.Items[j-57].SubItems[2]:='0';
end else
ListView7.Items[j-57].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').AsString);
end;
if(j>=73)and (j<=75)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView7.Items[j-57].SubItems[2]:='0';
end else
ListView7.Items[j-57].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').asstring);
end;
if(j>=77)and(j<=79)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView7.Items[j-57].SubItems[2]:='0';
end else
ListView7.Items[j-57].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').asstring);
end;
//添加第八页数据
if(j>=80)and (j<=81)then
begin
if(ADOQuery2.Fieldbyname('测算值').asstring='')then
begin
ListView8.Items[j-80].SubItems[2]:='0';
end else
ListView8.Items[j-80].SubItems[2]:=Converter(ADOQuery2.Fieldbyname('测算值').asstring);
end;
ADOQuery2.Next;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -