⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bustradezhyearrepunit.pas

📁 公交行业的管理系统
💻 PAS
📖 第 1 页 / 共 4 页
字号:
        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 + -