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

📄 bustrademoneditunit.pas

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

procedure  TBusTradeMonEditFrm.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 TBusTradeMonEditFrm.PanelEnable(Bool:Boolean);
begin
        Panel6.enabled:=Bool;
        Panel7.enabled:=Bool;
        Panel11.enabled:=Bool;
        Panel13.enabled:=Bool;
end;

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

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


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

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

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

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

procedure TBusTradeMonEditFrm.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 统计月份='+combobox2.Text+
                                ' and 城市代码='+''''+Edit9.text+''''+' and 生成方式='+''''+'录入'+'''';
                ADOCommand1.Execute;

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

procedure TBusTradeMonEditFrm.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 TBusTradeMonEditFrm.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<>'备注')     and
                           (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),strtoint(combobox2.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('统计月份').AsInteger:=StrToInt(ComboBox2.Text);
                                    DesTable.FieldByName('城市代码').AsString:=trim(Edit9.text);
                                    DesTable.FieldByName('指标代码').AsString:=SrcTable.Fields[i].FieldName;
                                    DesTable.Post;
                        end;
                end;
end;

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

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

procedure TBusTradeMonEditFrm.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 TBusTradeMonEditFrm.CheckBalance():boolean;
var WrongMessage:string;
begin
        WrongMessage:='';
        if(BusADOQuery.FieldByName(DBEdit11.DataField).asfloat<
                BusADOQuery.FieldByName(DBEdit14.DataField).AsFloat)
        then
                WrongMessage:=WrongMessage+' G11>=GN14 ';

        if(BusADOQuery.FieldByName(DBEdit15.DataField).asfloat<
                BusADOQuery.FieldByName(DBEdit18.DataField).AsFloat)
        then
                WrongMessage:=WrongMessage+' G15>=GN18 ';
        if(WrongMessage<>'')then
        begin
                showmessage('不满足'+WrongMessage+'指标之间的关系!');
                CheckBalance:=true;
        end else
                CheckBalance:=false;
end;
procedure TBusTradeMonEditFrm.FormCreate(Sender: TObject);
begin

        DBEdit3.OnExit:=DealDBEditExit;
        DBEdit4.OnExit:=DealDBEditExit;
        DBEdit5.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit7.OnExit:=DealDBEditExit;
        DBEdit8.OnExit:=DealDBEditExit;
        DBEdit9.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit12.OnExit:=DealDBEditExit;
        DBEdit13.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit16.OnExit:=DealDBEditExit;
        DBEdit17.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit21.OnExit:=DealDBEditExit;
        DBEdit22.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit24.OnExit:=DealDBEditExit;
        DBEdit25.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit29.OnExit:=DealDBEditExit;
        DBEdit30.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit31.OnExit:=DealDBEditExit;
        DBEdit32.OnExit:=DealDBEditExit;
        DBEdit33.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit36.OnExit:=DealDBEditExit;
        DBEdit37.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit38.OnExit:=DealDBEditExit;
        DBEdit39.OnExit:=DealDBEditExit;
        DBEdit40.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit44.OnExit:=DealDBEditExit;
        DBEdit45.OnExit:=DealDBEditExit;
        DBEdit46.OnExit:=DealDBEditExit;
        DBEdit47.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit50.OnExit:=DealDBEditExit;
        DBEdit51.OnExit:=DealDBEditExit;
        DBEdit52.OnExit:=DealDBEditExit;
        DBEdit53.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit56.OnExit:=DealDBEditExit;
        DBEdit57.OnExit:=DealDBEditExit;
        DBEdit58.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit60.OnExit:=DealDBEditExit;
        DBEdit61.OnExit:=DealDBEditExit;
        DBEdit62.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit65.OnExit:=DealDBEditExit;
        DBEdit66.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit68.OnExit:=DealDBEditExit;
        DBEdit69.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit72.OnExit:=DealDBEditExit;
        DBEdit73.OnExit:=DealDBEditExit;
        //------------------------------
        DBEdit75.OnExit:=DealDBEditExit;
        DBEdit76.OnExit:=DealDBEditExit;
        //------------------------------

⌨️ 快捷键说明

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