📄 bustradezhyearrepunit.pas
字号:
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;
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;
end;
ADOQuery2.Next;
end;
ADOQuery1.post;
{ADOQuery1.Fields[1].value:='生成';
ADOQuery1.Fields[2].value:=strtoint(combobox1.text);
for i:=1 to ADOQuery2.RecordCount do
begin
j:=i+4;
ADOQuery1.Fields[j].Value:=ADOQuery2.fieldbyname('全年实际').AsFloat;
end; }
end;
procedure TBusTradeZHYearRepFrm.ComboBox1Change(Sender: TObject);
begin
initialcolumn(ListView1);
initialcolumn(ListView2);
initialcolumn(ListView3);
initialcolumn(ListView4);
initialcolumn(ListView5);
initialcolumn(ListView6);
initialcolumn(ListView7);
initialcolumn(ListView8);
end;
procedure TBusTradeZHYearRepFrm.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 TBusTradeZHYearRepFrm.OutputDataToE(iSouList:TListView;iCellRows:Integer;iRowsCou:Integer;iCellCols:Integer);
var
iColNum:Integer;
begin
WriteCell(iCellRows,iCellCols,iSouList.Items[iRowsCou].SubItems[2]);
end;
procedure TBusTradeZHYearRepFrm.FillMonDataToList();
var sqlstr2:string;
i,j:integer;
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 + -