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

📄 bustradeyeareditunit.pas

📁 公交行业的管理系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
        try
                YearValue:=StrToInt(ComboBox1.Text);
        except
                ShowMessage('年份不是数值!');
                CheckYear:=false;
                exit;
        end;
        if((YearValue<1990) or (YearValue>2030))then
        begin
                ShowMessage('输入年份不对!');
                CheckYear:=false;
                exit;
        end;
        CheckYear:=true;
end;

procedure  TBusTradeYearEditFrm.ButtonEnable(curButton:TButton);
begin
        if(curButton=nil)then
        begin
                BitBtn2.Enabled:=True;
                BitBtn3.Enabled:=True;
                BitBtn4.Enabled:=false;
                BitBtn5.Enabled:=false;
                BitBtn8.Enabled:=true;
                PanelEnable(false);
                exit;
        end;
        if((curButton.Name='BitBtn2') or (curButton.Name='BitBtn3'))then
        begin
                BitBtn2.Enabled:=False;
                BitBtn3.Enabled:=False;
                BitBtn8.Enabled:=False;
                BitBtn7.Enabled:=False;
                BitBtn6.Enabled:=false;
                BitBtn4.Enabled:=True;
                BitBtn5.Enabled:=True;
                PanelEnable(true);
        end;

        if((curButton.Name='BitBtn4') or (curButton.Name='BitBtn5'))then
        begin
                BitBtn2.Enabled:=True;
                BitBtn3.Enabled:=True;
                BitBtn7.Enabled:=True;
                BitBtn8.Enabled:=True;
                BitBtn4.Enabled:=False;
                BitBtn5.Enabled:=False;
                PanelEnable(false);
        end;
        IF(curButton.Name='BitBtn8')Then
        begin
                BitBtn2.Enabled:=true;
                BitBtn3.Enabled:=true;
                BitBtn4.Enabled:=false;
                BitBtn5.Enabled:=false;
                PanelEnable(true);
        end;
end;

procedure TBusTradeYearEditFrm.PanelEnable(Bool:Boolean);
begin
        Panel6.enabled:=Bool;
        Panel7.enabled:=Bool;
        Panel11.enabled:=Bool;
        Panel13.enabled:=Bool;
end;

function TBusTradeYearEditFrm.AddPrnQuery:boolean;
var sqlstr:string;
begin
        if(not CheckYear)then
        begin
            AddPrnQuery:=false;
            exit;
        end;
        sqlstr:='select 城市代码,统计年份,指标代码,测算值 from 公交行业统计年报_z where 统计年份='+ComboBox1.text+
                          ' and 城市代码='+''''+Edit9.text+'''';
        ADOQPrintYear.Close;
        ADOQPrintYear.SQL.Clear;
        ADOQPrintYear.SQL.Add(sqlstr);
        try
              ADOQPrintYear.Open;
              AddPrnQuery:=true;
        except
              AddPrnQuery:=false;
        end;
end;

procedure TBusTradeYearEditFrm.OpenAllPage();
var sqlstr:string;
begin
        sqlstr:='select * from 公交行业统计年报表 where 城市代码='+''''+Edit9.text+''''+
                ' and 统计年份='+combobox1.text+' and 生成方式='+''''+'录入'+'''';
        BusADOQuery.close;
        BusADOQuery.SQL.clear;
        BusADOQuery.SQL.Add(sqlstr);
        BusADOQuery.open;
end;


function  TBusTradeYearEditFrm.IsEmptyRep():boolean;
begin
        if(BusADOQuery.RecordCount<=0) then
        begin
                IsEmptyRep:=true;
                exit;
        end;
                IsEmptyRep:=false;
        end;

procedure TBusTradeYearEditFrm.BitBtn7Click(Sender: TObject);
begin
        close;
end;

procedure TBusTradeYearEditFrm.BitBtn2Click(Sender: TObject);
begin
        if(not CheckYear)then exit;
        if(not IsEmptyRep)then
        begin
                showmessage('该年数据已存在,请先删除该年数据!');
                exit;
        end;
        ButtonEnable(BitBtn2);
        BusADOQuery.Append;
end;

procedure TBusTradeYearEditFrm.BitBtn3Click(Sender: TObject);
begin
        if(IsEmptyRep)then
        begin
                MessageBox(self.handle,'数据为空!','消息',MB_OK);
                exit;
        end;
        ButtonEnable(BitBtn3);
        BusADOQuery.Edit;
end;

procedure TBusTradeYearEditFrm.BitBtn8Click(Sender: TObject);
begin
        if(IsEmptyRep())then
        begin
                showmessage('对不起,不存在本年数据!');
                BitBtn6.enabled:=false;
                exit;
        end;
        if(MessageBox(self.Handle,'你是否删除?','提示',MB_OKCANCEL)=IDOK)then
        begin
                showmessage('由于速度较慢,请您稍等!');
                BusTradeDataModule.ADOConnection1.BeginTrans;
                ADOCommand1.CommandText:='delete from  公交行业统计年报表'+
                                ' where  统计年份='+ComboBox1.text+
                                ' and 城市代码='+''''+Edit9.text+''''+' and 生成方式='+''''+'录入'+'''';
                ADOCommand1.Execute;

                if(YearDataNul())then
                begin
                        ADOCommand1.CommandText:='update 公交行业统计年报_z  set 测算值='+' 0 where 城市代码='+
                                                 ''''+Edit9.text+''''+' and 统计年份='+combobox1.Text;
                        ADOCommand1.Execute;
                end else
                begin
                        ADOCommand1.CommandText:='delete from 公交行业统计年报_z '+
                                        ' where 城市代码='+''''+Edit9.text+''''+' and 统计年份='+combobox1.Text;
                        ADOCommand1.Execute;
                end;
                BusTradeDataModule.ADOConnection1.CommitTrans;
                ButtonEnable(BitBtn8);
                BitBtn6.Enabled:=false;
                OpenAllPage;
                AddPrnQuery;
                exit;
       end;
       BitBtn6.Enabled:=true;
end;

procedure TBusTradeYearEditFrm.BitBtn4Click(Sender: TObject);
begin
        if(CheckBalance)then exit;
        if(BusADOQuery.State in [dsInsert,dsEdit])then
                BusADOQuery.Post;
        ButtonEnable(BitBtn4);
        FillDataToZTable(BusADOQuery,ADOQPrintYear);
        showmessage('数据已经保存!');
        BitBtn6.Enabled:=true;
end;

procedure TBusTradeYearEditFrm.FillDataToZTable(SrcTable:TADOQuery;DesTable:TADOQuery);
var
i:integer;
begin
                DesTable.Close;
                DesTable.Open;
                for i:=0 to SrcTable.FieldCount-1 do
                begin
                        if (SrcTable.Fields[i].FieldName<>'统计年份') and
                           (SrcTable.Fields[i].FieldName<>'城市代码') and
                           (SrcTable.Fields[i].FieldName<>'备注')and
                           (SrcTable.Fields[i].FieldName<>'生成方式')then
                        begin
                                    if(DesTable.Locate('统计年份;城市代码;指标代码',
                                                           VarArrayOf([StrToInt(ComboBox1.Text),
                                                           trim(Edit9.text),SrcTable.Fields[i].FieldName]),[]))then
                                    DesTable.Edit else
                                    DesTable.Append;
                                    DesTable.FieldByName('测算值').Value:=SrcTable.Fields[i].Value;
                                    DesTable.FieldByName('统计年份').AsInteger:=StrToInt(ComboBox1.Text);
                                    DesTable.FieldByName('城市代码').AsString:=trim(Edit9.text);
                                    DesTable.FieldByName('指标代码').AsString:=SrcTable.Fields[i].FieldName;
                                    DesTable.Post;
                        end;
                end;
end;

procedure TBusTradeYearEditFrm.BitBtn5Click(Sender: TObject);
begin
        ButtonEnable(BitBtn5);
        BusADOQuery.Cancel;
end;

procedure TBusTradeYearEditFrm.BusADOQueryAfterInsert(DataSet: TDataSet);
begin
        BusADOQuery.FieldByName('统计年份').AsString:=ComboBox1.Text;
        BusADOQuery.FieldByName('城市代码').AsString:=Edit9.Text;
        BusADOQuery.FieldByName('生成方式').AsString:='录入';
end;

procedure TBusTradeYearEditFrm.BusADOQueryBeforePost(DataSet: TDataSet);
var i:integer;
begin
        for i:=0 to BusADOQuery.FieldCount-1 do
        begin
                if(trim(BusADOQuery.Fields[i].AsString)='')then
                        BusADOQuery.Fields[i].AsString:='0';
        end;
end;

function TBusTradeYearEditFrm.CheckBalance():boolean;
var WrongMessage:string;
begin
        WrongMessage:='';
        if(BusADOQuery.FieldByName(DBEdit3.DataField).asfloat<
                BusADOQuery.FieldByName(DBEdit4.DataField).asfloat+
                BusADOQuery.FieldByName(DBEdit5.DataField).AsFloat)
        then
                WrongMessage:=WrongMessage+' GN03>=GN04+GN05 ';

        if(BusADOQuery.FieldByName(DBEdit6.DataField).AsFloat<
                BusADOQuery.FieldByName(DBEdit7.DataField).asfloat+
                BusADOQuery.FieldByName(DBEdit8.DataField).asfloat)
        then
                WrongMessage:=WrongMessage+' GN06>=GN07+GN08 ';

        if(BusADOQuery.FieldByName(DBEdit13.DataField).AsFloat<
                BusADOQuery.FieldByName(DBEdit14.DataField).asfloat+
                BusADOQuery.FieldByName(DBEdit15.DataField).AsFloat)
        then
                WrongMessage:=WrongMessage+' GN13>=GN14+GN15 ';

        if(BusADOQuery.FieldByName(DBEdit16.DataField).asfloat<
                BusADOQuery.FieldByName(DBEdit17.DataField).AsFloat+
                BusADOQuery.FieldByName(DBEdit18.DataField).AsFloat)
        then
                WrongMessage:=WrongMessage+' GN16>=GN17+GN18 ';

        if(BusADOQuery.FieldByName(DBEdit30.DataField).asfloat<
                BusADOQuery.FieldByName(DBEdit31.DataField).AsFloat)
        then
                WrongMessage:=WrongMessage+' GN30>=GN31 ';

        if(BusADOQuery.FieldByName(DBEdit32.DataField).asfloat<
                BusADOQuery.FieldByName(DBEdit33.DataField).AsFloat)
        then
                WrongMessage:=WrongMessage+' GN32>=GN33 ';

        if(BusADOQuery.FieldByName(DBEdit37.DataField).asfloat<>
                BusADOQuery.FieldByName(DBEdit1.DataField).AsFloat)
        then
                WrongMessage:=WrongMessage+' GN37=GN01 ';

        if(BusADOQuery.FieldByName(DBEdit56.DataField).asfloat<
                BusADOQuery.FieldByName(DBEdit57.DataField).asfloat)
        then
                WrongMessage:=WrongMessage+' GN56>=GN57 ';

        if(BusADOQuery.FieldByName(DBEdit58.DataField).AsFloat<
                BusADOQuery.FieldByName(DBEdit59.DataField).AsFloat)
        then
                WrongMessage:=WrongMessage+' GN58>=GN59 ';

        if(BusADOQuery.FieldByName(DBEdit83.DataField).asfloat<=
                BusADOQuery.FieldByName(DBEdit86.DataField).AsFloat)
        then
                WrongMessage:=WrongMessage+' GN83>GN86 ';

        if(WrongMessage<>'')then
        begin
                showmessage('不满足'+WrongMessage+'指标之间的关系!');
                CheckBalance:=true;
        end else
                CheckBalance:=false;
end;
procedure TBusTradeYearEditFrm.FormCreate(Sender: TObject);
begin



        DBEdit3.OnExit:=DealDBEditExit;
        DBEdit6.OnExit:=DealDBEditExit;
        DBEdit9.OnExit:=DealDBEditExit;
        DBEdit10.OnExit:=DealDBEditExit;
        DBEdit11.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit13.OnExit:=DealDBEditExit;
        DBEdit16.OnExit:=DealDBEditExit;
        DBEdit19.OnExit:=DealDBEditExit;
        DBEdit20.OnExit:=DealDBEditExit;
        DBEdit21.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit23.OnExit:=DealDBEditExit;
        DBEdit24.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit26.OnExit:=DealDBEditExit;
        DBEdit27.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit28.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit30.OnExit:=DealDBEditExit;
        DBEdit32.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit35.OnExit:=DealDBEditExit;
        DBEdit36.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit38.OnExit:=DealDBEditExit;
        DBEdit42.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit39.OnExit:=DealDBEditExit;
        DBEdit40.OnExit:=DealDBEditExit;
        DBEdit41.OnExit:=DealDBEditExit;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -