📄 u_yhcz.pas
字号:
unit U_YHCZ;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, DBTables, DB, Grids, DBGrids, DBCtrls, ExtCtrls,
StdCtrls, Buttons, DBGridEh;
type
TYHDW = class(TForm)
DataSource1: TDataSource;
Panel4: TPanel;
DBNavigator1: TDBNavigator;
SpeedButton3: TSpeedButton;
SpeedButton5: TSpeedButton;
GroupBox1: TGroupBox;
Label1: TLabel;
YHDM: TEdit;
Label2: TLabel;
YHDZM: TEdit;
Label3: TLabel;
XYKH: TEdit;
Label4: TLabel;
JMQBH: TEdit;
Label5: TLabel;
YHM: TEdit;
Label6: TLabel;
DZ: TEdit;
Label7: TLabel;
QH: TEdit;
Label8: TLabel;
XZH: TEdit;
Label9: TLabel;
SZDW: TEdit;
Label10: TLabel;
LXDH: TEdit;
CheckBox2: TCheckBox;
Query1: TQuery;
Query1YONGHDM: TStringField;
Query1YONGHDZM: TStringField;
Query1XINYKH: TStringField;
Query1JIAMQBH: TStringField;
Query1XINGM: TStringField;
Query1ZHONGDS: TFloatField;
Query1ZHONGDS2: TFloatField;
Query1SHOUFJB: TStringField;
Query1CHUZRQ: TDateTimeField;
Query1JIFRQ: TDateTimeField;
Query1CHUZF: TFloatField;
Query1DANJBH: TStringField;
Query1DIZ: TStringField;
Query1DANW: TStringField;
Query1DIANH: TStringField;
Query1QUH: TStringField;
Query1XIAOZH: TStringField;
Query1SHANGNYE: TFloatField;
Query1YUE1: TFloatField;
Query1YUE2: TFloatField;
Query1YUE3: TFloatField;
Query1YUE4: TFloatField;
Query1YUE5: TFloatField;
Query1YUE6: TFloatField;
Query1YUE7: TFloatField;
Query1YUE8: TFloatField;
Query1YUE9: TFloatField;
Query1YUE10: TFloatField;
Query1YUE11: TFloatField;
Query1YUE12: TFloatField;
Query1BENNYJFY: TFloatField;
Query1BENNSJFY: TFloatField;
Query1BENNYHJE: TFloatField;
Query1BAOTMSFY: TFloatField;
Query1CHAIQMSFY: TFloatField;
Query1SIH: TStringField;
Query1BEIZ: TStringField;
SpeedButton6: TSpeedButton;
Label11: TLabel;
SFJB: TEdit;
CheckBox3: TCheckBox;
DZBM: TEdit;
DZBM2: TEdit;
Label12: TLabel;
Bevel1: TBevel;
DBGridEh1: TDBGridEh;
Label13: TLabel;
ComboBox_YHZT: TComboBox;
Query1JZNY: TDateTimeField;
Query1YHZT: TStringField;
QPub: TQuery;
SpeedButton1: TSpeedButton;
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton6Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
YHDW: TYHDW;
implementation
{$R *.DFM}
procedure TYHDW.FormKeyPress(Sender: TObject; var Key: Char);
begin
If Key=#13 Then
SelectNext(ActiveControl,True,True);
end;
procedure TYHDW.SpeedButton6Click(Sender: TObject);
Var STemp,DZ1:String;
AllLen,NowLen:Byte;
begin
Panel4.Caption:='正在查询,请稍侯...';
Panel4.Refresh;
{恢复最基本的 SQL}
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * From YHXX');
{根据当前输入的值生成新的 SQL}
If CheckBox2.Checked Then
Query1.SQL.Add('Where SiH='+#39+'1'+#39)
Else
Query1.SQL.Add('Where SiH='+#39+'0'+#39);
If Length(YHDM.Text)=7 Then
Query1.SQL.Add(' And YongHDM='+#39+YHDM.Text+#39)
ELse If Length(YHDM.Text)>0 Then
Query1.SQL.Add(' And YongHDM Like '+#39+YHDM.Text+'%'+#39);
If Length(YHDZM.Text)>0 Then
Query1.SQL.Add(' And YongHDZM Like '+#39+YHDZM.Text+'%'+#39);
If Length(Dzbm.Text)>0 Then
Begin
If length(Dzbm2.Text)>0 Then
Begin
Query1.SQL.Add('And YongHDZM>='+#39+DZBM.Text+#39);
Query1.SQL.Add('And YongHDZM<='+#39+DZBM2.Text+#39);
end
else
Begin
Application.MessageBox('查询范围输入不完整', '系统提示', mb_OKCancel+mb_DefButton1);
exit;
end;
End;
If Length(XYKH.Text)>0 Then Query1.SQL.Add(' And XinYKH Like '+#39+XYKH.Text+'%'+#39);
If Length(JMQBH.Text)>0 Then Query1.SQL.Add(' And JiaMQBH Like '+#39+JMQBH.Text+'%'+#39);
STemp:=YHM.Text;
AllLen:=Length(STemp);
NowLen:=1;
While NowLen<=AllLen Do
Begin
DZ1:='';
While ((STemp[NowLen]<>'+') AND (NowLen<=AllLen)) Do
Begin
DZ1:=DZ1+STemp[NowLen];
Inc(NowLen);
End;
Inc(NowLen);
If Length(DZ1)>0 Then
Query1.SQL.Add(' And XingM Like '+#39+'%'+DZ1+'%'+#39);
End;
STemp:=DZ.Text;
AllLen:=Length(STemp);
NowLen:=1;
While NowLen<=AllLen Do
Begin
DZ1:='';
While ((STemp[NowLen]<>'+') AND (NowLen<=AllLen)) Do
Begin
DZ1:=DZ1+STemp[NowLen];
Inc(NowLen);
End;
Inc(NowLen);
If Length(DZ1)>0 Then
Query1.SQL.Add(' And DiZ Like '+#39+'%'+DZ1+'%'+#39);
End;
If Length(SFJB.Text)>0 Then Query1.SQL.Add(' And ShouFJB='+#39+SFJB.Text+#39);
If Length(QH.Text)>0 Then Query1.SQL.Add(' And QuH Like '+#39+QH.Text+'%'+#39);
If Length(XZH.Text)>0 Then Query1.SQL.Add(' And XiaoZH Like '+#39+XZH.Text+'%'+#39);
If Length(SZDW.Text)>0 Then Query1.SQL.Add(' And DanW Like '+#39+'%'+SZDW.Text+'%'+#39);
If Length(LXDH.Text)>0 Then Query1.SQL.Add(' And DianH Like '+#39+LXDH.Text+'%'+#39);
If CheckBox3.Checked Then Query1.SQL.Add(' And YongHDZM Is Null');
If ComboBox_YHZT.Text<>'' Then Query1.SQL.Add(' And YHZT='+#39+ComboBox_YHZT.Text+#39);
Query1.Open;
Panel4.Caption:='查询完毕,总户数:'+IntToStr(Query1.RecordCount);
end;
procedure TYHDW.FormShow(Sender: TObject);
begin
YHDM.SetFocus;
YHDM.SelectAll;
end;
procedure TYHDW.SpeedButton5Click(Sender: TObject);
begin
Close;
end;
procedure TYHDW.SpeedButton3Click(Sender: TObject);
Var DZM:String;
Label FindError;
begin
If Not Query1.Active Then Exit;
If Query1YongHDZM.IsNull Then Exit;
If Length(Trim(Query1YongHDZM.AsString))<7 Then Goto FindError;
DZM:=Trim(Query1YongHDZM.AsString);
DZM:=Copy(DZM,1,7);
QPub.Close;
QPub.SQL.Clear;
QPub.SQL.Add('Select ID From LF Where NAME='+#39+DZM+#39);
QPub.Open;
If QPub.FieldByName('ID').AsInteger>0 Then
Begin
Caption:=QPub.FieldbyName('ID').AsString;
ModalResult:=mrOK;
End
Else
FindError:
Application.MessageBox('无法定位到指定楼房!','提示',MB_OK+MB_ICONINFORMATION);
end;
procedure TYHDW.SpeedButton1Click(Sender: TObject);
begin
If Not Query1.Active Then Exit;
If Query1.FieldByName('YongHDM').AsString<>'' Then ModalResult:=mrOK;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -