📄 bustrademoneditunit.pas
字号:
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 + -