?? bustrademoneditunit.pas
字號:
except
ShowMessage('年份不是數(shù)值!');
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 城市代碼,統(tǒng)計年份,統(tǒng)計月份,指標代碼,測算值 from 公交行業(yè)統(tǒng)計月報_z where 統(tǒng)計年份='+ComboBox1.text+
' and 統(tǒng)計月份='+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 公交行業(yè)統(tǒng)計月報表 where 城市代碼='+''''+Edit9.text+''''+
' and 統(tǒng)計年份='+combobox1.text+' and 統(tǒng)計月份='+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('該年數(shù)據(jù)已存在,請先刪除該年數(shù)據(jù)!');
exit;
end;
ButtonEnable(BitBtn2);
BusADOQuery.Append;
end;
procedure TBusTradeMonEditFrm.BitBtn3Click(Sender: TObject);
begin
if(IsEmptyRep)then
begin
MessageBox(self.handle,'數(shù)據(jù)為空!','消息',MB_OK);
exit;
end;
ButtonEnable(BitBtn3);
BusADOQuery.Edit;
end;
procedure TBusTradeMonEditFrm.BitBtn8Click(Sender: TObject);
begin
if(IsEmptyRep())then
begin
showmessage('對不起,不存在本年數(shù)據(jù)!');
BitBtn6.enabled:=false;
exit;
end;
if(MessageBox(self.Handle,'你是否刪除?','提示',MB_OKCANCEL)=IDOK)then
begin
showmessage('由于速度較慢,請您稍等!');
BusTradeDataModule.ADOConnection1.BeginTrans;
ADOCommand1.CommandText:='delete from 公交行業(yè)統(tǒng)計月報表'+
' where 統(tǒng)計年份='+ComboBox1.text+' and 統(tǒng)計月份='+combobox2.Text+
' and 城市代碼='+''''+Edit9.text+''''+' and 生成方式='+''''+'錄入'+'''';
ADOCommand1.Execute;
if(YearDataNul())then
begin
ADOCommand1.CommandText:='update 公交行業(yè)統(tǒng)計月報_z set 測算值='+' 0 where 城市代碼='+
''''+Edit9.text+''''+' and 統(tǒng)計年份='+combobox1.Text+' and 統(tǒng)計月份='+combobox2.Text;
ADOCommand1.Execute;
end else
begin
ADOCommand1.CommandText:='delete from 公交行業(yè)統(tǒng)計月報_z '+
' where 城市代碼='+''''+Edit9.text+''''+' and 統(tǒng)計年份='+combobox1.Text+' and 統(tǒng)計月份='+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('數(shù)據(jù)已經(jīng)保存!');
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<>'統(tǒng)計年份') and
(SrcTable.Fields[i].FieldName<>'統(tǒng)計月份') and
(SrcTable.Fields[i].FieldName<>'城市代碼') and
(SrcTable.Fields[i].FieldName<>'備注') and
(SrcTable.Fields[i].FieldName<>'生成方式') and
(SrcTable.Fields[i].FieldName<>'統(tǒng)計負責人') and
(SrcTable.Fields[i].FieldName<>'統(tǒng)計人員') and
(SrcTable.Fields[i].FieldName<>'填報日期')
then
begin
if(DesTable.Locate('統(tǒng)計年份;統(tǒng)計月份;城市代碼;指標代碼',
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('統(tǒng)計年份').AsInteger:=StrToInt(ComboBox1.Text);
DesTable.FieldByName('統(tǒng)計月份').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('統(tǒng)計年份').AsString:=ComboBox1.Text;
BusADOQuery.FieldByName('統(tǒng)計月份').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 + -