📄 addyearqueryunit.~pas
字号:
unit AddYearQueryUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, ImgList, Grids, DBGrids, StdCtrls, ExtCtrls, CheckUnit,
ComCtrls, Buttons, DB;
type
TAddYearQueryFrm = class(TForm)
Label37: TLabel;
Label56: TLabel;
Label57: TLabel;
Label58: TLabel;
BitBtn5: TBitBtn;
BitBtn3: TBitBtn;
GroupBox2: TGroupBox;
PageControl1: TPageControl;
TabSheet2: TTabSheet;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label19: TLabel;
Label20: TLabel;
ComboBox5: TComboBox;
ComboBox6: TComboBox;
Panel2: TPanel;
Bevel5: TBevel;
Label12: TLabel;
Bevel6: TBevel;
Bevel7: TBevel;
Bevel8: TBevel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
ComboBox7: TComboBox;
ComboBox8: TComboBox;
Edit3: TEdit;
CheckBox1: TCheckBox;
ComboBox9: TComboBox;
CheckBox2: TCheckBox;
ComboBox10: TComboBox;
CheckBox3: TCheckBox;
ComboBox11: TComboBox;
ComboBox12: TComboBox;
Edit4: TEdit;
ComboBox13: TComboBox;
ComboBox14: TComboBox;
Edit5: TEdit;
BitBtn18: TBitBtn;
BitBtn20: TBitBtn;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DBGrid1: TDBGrid;
ComboBox29: TComboBox;
ComboBox30: TComboBox;
ComboBox31: TComboBox;
ImageList1: TImageList;
ADOTable1: TADOTable;
DataSource1: TDataSource;
Label3: TLabel;
ComboBox3: TComboBox;
Label4: TLabel;
ComboBox4: TComboBox;
Label5: TLabel;
ComboBox17: TComboBox;
procedure ComboBox7Change(Sender: TObject);
procedure ComboBox11Change(Sender: TObject);
procedure ComboBox13Change(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
Object1:TRelation;
function checkData:boolean;
public
{ Public declarations }
end;
var
AddYearQueryFrm: TAddYearQueryFrm;
implementation
uses BusTradeDataModuleUnit,AddYearRepQueryUnit;
{$R *.dfm}
function TAddYearQueryFrm.checkData:boolean;
var
tempnum:integer;
begin
try
tempnum:=StrToInt(ComboBox5.Text)+StrToInt(ComboBox6.Text);
except
MessageBox(self.Handle,'年份数据类型不对!','消息',MB_OK);
CheckData:=false;
exit;
end;
if((StrToInt(ComboBox5.Text)<2000) or (StrToInt(ComboBox6.Text)>3000))then
begin
MessageBox(self.Handle,'选择年份不在2000-3000年之间!','消息',MB_OK);
CheckData:=false;
exit;
end;
if(StrToInt(ComboBox5.Text)>StrToInt(ComboBox6.Text))then
begin
MessageBox(self.Handle,'年份区间不合法!','消息',MB_OK);
CheckData:=false;
exit;
end;
end;
procedure TAddYearQueryFrm.ComboBox7Change(Sender: TObject);
begin
ADOTable1.Locate('指标代码',ComboBox7.Text,[]);
end;
procedure TAddYearQueryFrm.ComboBox11Change(Sender: TObject);
begin
ADOTable1.Locate('指标代码',ComboBox11.Text,[]);
end;
procedure TAddYearQueryFrm.ComboBox13Change(Sender: TObject);
begin
ADOTable1.Locate('指标代码',ComboBox13.Text,[]);
end;
procedure TAddYearQueryFrm.CheckBox1Click(Sender: TObject);
begin
Object1.ButtonCheck1(CheckBox1.Checked);
Label12.Visible:=Object1.T1;
Label16.Visible:=Object1.T2;
Label17.Visible:=Object1.T3;
ComboBox9.Visible:=Object1.C1;
ComboBox10.Visible:=Object1.C2;
if(CheckBox1.Checked)then
begin
ComboBox7.Enabled:=true;
ComboBox7.Color:=$00FF8080;
ComboBox8.Enabled:=true;
ComboBox8.Color:=$00FF8080;
Edit3.Enabled:=true;
Edit3.Color:=$00FF8080;
end else
begin
ComboBox7.Enabled:=false;
ComboBox7.Color:=clWhite;
ComboBox8.Enabled:=false;
ComboBox8.Color:=clWhite;
Edit3.Enabled:=false;
Edit3.Color:=clWhite;
end;
end;
procedure TAddYearQueryFrm.CheckBox2Click(Sender: TObject);
begin
Object1.ButtonCheck2(CheckBox2.Checked);
Label12.Visible:=Object1.T1;
Label16.Visible:=Object1.T2;
Label17.Visible:=Object1.T3;
ComboBox9.Visible:=Object1.C1;
ComboBox10.Visible:=Object1.C2;
if(CheckBox2.Checked)then
begin
ComboBox11.Enabled:=true;
ComboBox11.Color:=$00FF8080;
ComboBox12.Enabled:=true;
ComboBox12.Color:=$00FF8080;
Edit4.Enabled:=true;
Edit4.Color:=$00FF8080;
end else
begin
ComboBox11.Enabled:=false;
ComboBox11.Color:=clWhite;
ComboBox12.Enabled:=false;
ComboBox12.Color:=clWhite;
Edit4.Enabled:=false;
Edit4.Color:=clWhite;
end;
end;
procedure TAddYearQueryFrm.CheckBox3Click(Sender: TObject);
begin
Object1.ButtonCheck3(CheckBox3.Checked);
Label12.Visible:=Object1.T1;
Label16.Visible:=Object1.T2;
Label17.Visible:=Object1.T3;
ComboBox9.Visible:=Object1.C1;
ComboBox10.Visible:=Object1.C2;
if(CheckBox3.Checked)then
begin
ComboBox13.Enabled:=true;
ComboBox13.Color:=$00FF8080;
ComboBox14.Enabled:=true;
ComboBox14.Color:=$00FF8080;
Edit5.Enabled:=true;
Edit5.Color:=$00FF8080;
end else
begin
ComboBox13.Enabled:=false;
ComboBox13.Color:=clWhite;
ComboBox14.Enabled:=false;
ComboBox14.Color:=clWhite;
Edit5.Enabled:=false;
Edit5.Color:=clWhite;
end;
end;
procedure TAddYearQueryFrm.BitBtn2Click(Sender: TObject);
begin
if(not checkData)then exit;
AddYearRepQueryFrm.ADOQuery1.SQL.Clear;
if (ComboBox5.Text<>'') and (ComboBox6.Text<>'') then
AddYearRepQueryFrm.ADOQuery1.SQL.Add('select * from 公交行业综合年报表 where '+
' 统计年份>='+ComboBox5.Text+
' and 统计年份<='+ComboBox6.Text)
else
begin
MessageBox(self.Handle,'输入条件语法错误!请选择正确的时间区间!','消息',MB_OK);
exit;
end;
if(CheckBox1.Checked)then
begin
if ((ComboBox7.Text='') or (ComboBox8.Text='') or (Edit3.Text=''))then
begin
MessageBox(self.Handle,'输入条件语法错误!请重新选择条件!','消息',MB_OK);
exit;
end;
if(not (AddYearRepQueryFrm.ADOQuery1.FieldByName(trim(ComboBox7.Text)).DataType in [ftString,ftWideString,ftFixedChar]))then
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' and '+ComboBox7.Text+' '+ComboBox8.Text+' '+Edit3.Text) else
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' and '+ComboBox7.Text+' '+ComboBox8.Text+' '+''''+trim(Edit3.Text)+'''');
end ;
if(CheckBox2.Checked)then
begin
if (ComboBox11.Text='') or (ComboBox12.Text='') or (Edit4.Text='') then
begin
MessageBox(self.Handle,'输入条件语法错误!请重新选择条件!','消息',MB_OK);
exit;
end;
if(not (AddYearRepQueryFrm.ADOQuery1.FieldByName(ComboBox11.Text).DataType in [ftString,ftWideString,ftFixedChar]))then
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' '+ComboBox9.Text+' '+ComboBox11.Text+' '+ComboBox12.Text+' '+Edit4.Text) else
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' '+ComboBox9.Text+' '+ComboBox11.Text+' '+ComboBox12.Text+' '+''''+trim(Edit4.Text)+'''');
end ;
if(CheckBox3.Checked)then
begin
if (ComboBox13.Text='') or (ComboBox14.Text='') or (Edit5.Text='') then
begin
MessageBox(self.Handle,'输入条件语法错误!请重新选择条件!','消息',MB_OK);
exit;
end;
if(not (AddYearRepQueryFrm.ADOQuery1.FieldByName(ComboBox13.Text).DataType in [ftString,ftWideString,ftFixedChar]))then
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' '+ComboBox10.Text+' '+ComboBox13.Text+' '+ComboBox14.Text+' '+Edit5.Text) else
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' '+ComboBox10.Text+' '+ComboBox13.Text+' '+ComboBox14.Text+' '+''''+trim(Edit5.Text)+'''');
end;
if(ComboBox29.Text<>'')then
begin
AddYearRepQueryFrm.ADOQuery1.Active:=False;
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' order by '+ComboBox29.Text);
if(ComboBox30.Text<>'')then
begin
AddYearRepQueryFrm.ADOQuery1.SQL.Add(','+ComboBox30.Text);
if(ComboBox31.Text<>'')then
begin
AddYearRepQueryFrm.ADOQuery1.SQL.Add(','+ComboBox31.Text);
end;
end;
end;
try
AddYearRepQueryFrm.ADOQuery1.open;
MessageBox(self.Handle,'条件正确','消息',MB_OK);
except
MessageBox(self.Handle,'条件不正确','消息',MB_OK);
end;
end;
procedure TAddYearQueryFrm.BitBtn5Click(Sender: TObject);
begin
if(not checkData)then exit;
AddYearRepQueryFrm.ADOQuery1.SQL.Clear;
if (ComboBox5.Text<>'') and (ComboBox6.Text<>'') then
AddYearRepQueryFrm.ADOQuery1.SQL.Add('select * from 公交行业综合年报表 where '+
' 统计年份>='+ComboBox5.Text+
' and 统计年份<='+ComboBox6.Text)
else
begin
MessageBox(self.Handle,'输入条件语法错误!请选择正确的时间区间!','消息',MB_OK);
exit;
end;
if(CheckBox1.Checked)then
begin
if ((ComboBox7.Text='') or (ComboBox8.Text='') or (Edit3.Text=''))then
begin
MessageBox(self.Handle,'输入条件语法错误!请重新选择条件!','消息',MB_OK);
exit;
end;
if(not (AddYearRepQueryFrm.ADOQuery1.FieldByName(trim(ComboBox7.Text)).DataType in [ftString,ftWideString,ftFixedChar]))then
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' and '+ComboBox7.Text+' '+ComboBox8.Text+' '+Edit3.Text) else
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' and '+ComboBox7.Text+' '+ComboBox8.Text+' '+''''+trim(Edit3.Text)+'''');
end ;
if(CheckBox2.Checked)then
begin
if (ComboBox11.Text='') or (ComboBox12.Text='') or (Edit4.Text='') then
begin
MessageBox(self.Handle,'输入条件语法错误!请重新选择条件!','消息',MB_OK);
exit;
end;
if(not (AddYearRepQueryFrm.ADOQuery1.FieldByName(ComboBox11.Text).DataType in [ftString,ftWideString,ftFixedChar]))then
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' '+ComboBox9.Text+' '+ComboBox11.Text+' '+ComboBox12.Text+' '+Edit4.Text) else
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' '+ComboBox9.Text+' '+ComboBox11.Text+' '+ComboBox12.Text+' '+''''+trim(Edit4.Text)+'''');
end ;
if(CheckBox3.Checked)then
begin
if (ComboBox13.Text='') or (ComboBox14.Text='') or (Edit5.Text='') then
begin
MessageBox(self.Handle,'输入条件语法错误!请重新选择条件!','消息',MB_OK);
exit;
end;
if(not (AddYearRepQueryFrm.ADOQuery1.FieldByName(ComboBox13.Text).DataType in [ftString,ftWideString,ftFixedChar]))then
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' '+ComboBox10.Text+' '+ComboBox13.Text+' '+ComboBox14.Text+' '+Edit5.Text) else
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' '+ComboBox10.Text+' '+ComboBox13.Text+' '+ComboBox14.Text+' '+''''+trim(Edit5.Text)+'''');
end;
if(ComboBox29.Text<>'')then
begin
AddYearRepQueryFrm.ADOQuery1.Active:=False;
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' order by '+ComboBox29.Text);
if(ComboBox3.ItemIndex=0)then
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' asc ') else
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' desc ');
if(ComboBox30.Text<>'')then
begin
AddYearRepQueryFrm.ADOQuery1.SQL.Add(','+ComboBox30.Text);
if(ComboBox4.ItemIndex=0)then
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' asc ') else
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' desc ');
if(ComboBox31.Text<>'')then
begin
AddYearRepQueryFrm.ADOQuery1.SQL.Add(','+ComboBox31.Text);
if(ComboBox17.ItemIndex=0)then
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' asc ') else
AddYearRepQueryFrm.ADOQuery1.SQL.Add(' desc ');
end;
end;
end;
///////////////////////////////////////
if (ComboBox29.Text='') and (ComboBox30.Text='') and (ComboBox31.Text='') then
begin
if MessageBox(self.handle,'是否选择排序条件?','消息',MB_YESNO)=IDYES THEN
exit;
// exit;
end;
////////////////////////////////////////////////////
try
AddYearRepQueryFrm.ADOQuery1.open;
AddYearRepQueryFrm.showmodal;
except
MessageBox(self.Handle,'条件不正确','消息',MB_OK);
end;
end;
procedure TAddYearQueryFrm.FormCreate(Sender: TObject);
begin
Object1:=TRelation.Create;
end;
procedure TAddYearQueryFrm.FormShow(Sender: TObject);
begin
ADOTable1.Open;
ComboBox5.Text:=IntToStr(CurrentYear);
ComboBox6.Text:=IntToStr(CurrentYear);
end;
procedure TAddYearQueryFrm.BitBtn3Click(Sender: TObject);
begin
AddYearRepQueryFrm.ADOQuery1.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -