📄 mc_yzxxdj.pas
字号:
unit MC_YZXXDJ;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, DBCtrls, Db, DBTables, Buttons, ExtCtrls;
type
TYZXXDJ = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
DBLookupComboBox1: TDBLookupComboBox;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
GroupBox4: TGroupBox;
Query1: TQuery;
DataSource1: TDataSource;
Query1BDEDesigner: TStringField;
Query1BDEDesigner2: TStringField;
Table1: TTable;
Table1BDEDesigner: TStringField;
Table1BDEDesigner2: TStringField;
DataSource2: TDataSource;
Table2: TTable;
DataSource3: TDataSource;
Table2BDEDesigner: TStringField;
Table2BDEDesigner2: TStringField;
Table2BDEDesigner3: TStringField;
Table1BDEDesigner3: TStringField;
BitBtn1: TBitBtn;
DBGrid3: TDBGrid;
Table3: TTable;
DataSource4: TDataSource;
Panel1: TPanel;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
Table2BDEDesigner4: TStringField;
CheckBox1: TCheckBox;
Query2: TQuery;
Table2BDEDesigner5: TStringField;
Table2BDEDesigner6: TStringField;
Table3BDEDesigner: TStringField;
Table3BDEDesigner2: TStringField;
Table3BDEDesigner3: TStringField;
Table3BDEDesigner4: TStringField;
Table3BDEDesigner5: TStringField;
Table3BDEDesigner6: TStringField;
Table3BDEDesigner7: TStringField;
Table3BDEDesigner8: TStringField;
Table3BDEDesigner9: TStringField;
Table3BDEDesigner10: TStringField;
Table3BDEDesigner11: TDateTimeField;
Table3BDEDesigner12: TDateTimeField;
Table3BDEDesigner13: TDateTimeField;
Table3BDEDesigner14: TDateTimeField;
Table3BDEDesigner15: TStringField;
Table3BDEDesigner16: TStringField;
Table3BDEDesigner17: TStringField;
Table3BDEDesigner18: TStringField;
Table3BDEDesigner19: TStringField;
Table3BDEDesigner20: TStringField;
Table3BDEDesigner21: TStringField;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Table2BDEDesigner7: TFloatField;
Table2BDEDesigner8: TFloatField;
Table2BDEDesigner9: TFloatField;
Table2BDEDesigner10: TFloatField;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
Table2BDEDesigner11: TStringField;
Table2BDEDesigner12: TStringField;
BitBtn6: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure DBGrid2DblClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
YZXXDJ: TYZXXDJ;
implementation
uses MC_FWXXDJ, MC_YZXXLL, MC_MainForm, MC_ZHCKXX;
{$R *.DFM}
//在窗体初始化时判断操作员的权限
procedure TYZXXDJ.FormShow(Sender: TObject);
begin
DBLookupComboBox1.KeyValue:=Query1.FieldbyName('小区名').AsString;
if MainForm.Query1.Locate('使用选项','业主信息登记',[loCaseInsensitive]) then
begin
if MainForm.query1.FieldByname('读写').AsString='读' then
begin
BitBtn2.Enabled:=False;
BitBtn3.Enabled:=False;
BitBtn4.Enabled:=False;
end;
end;
end;
procedure TYZXXDJ.DBGrid2DblClick(Sender: TObject); //选择业主信息
begin
If Table2.RecordCount <> 0 Then //如果房屋信息不为空
If Table3.RecordCount <> 0 Then //如果业主信息不为空
if not Table3.Locate('购入房编号',Table2.FieldByName('房间编号').AsString,[loCaseInsensitive]) then
begin
ShowMessage('没有发现此房业主信息.');
end;
end;
procedure TYZXXDJ.BitBtn1Click(Sender: TObject); //查看房屋详细信息
begin
If Table2.RecordCount <> 0 Then
If Not Assigned(FWXXDJ) Then
begin
FWXXDJ:=TFWXXDJ.Create(Self);
FWXXDJ.Query1.Locate('房间编号',Table2.FieldByName('房间编号').AsString,[loCaseInsensitive]);
FWXXDJ.ShowModal;
End
Else
begin
FWXXDJ.Query1.Locate('房间编号',Table2.FieldByName('房间编号').AsString,[loCaseInsensitive]);
FWXXDJ.ShowModal;
end;
end;
procedure TYZXXDJ.BitBtn2Click(Sender: TObject); //添加新业主
begin
If Table2.RecordCount = 0 Then //如果房屋信息
begin
ShowMessage('请选择业主登记的房屋信息');
End
Else
if Table2.FieldByName('是否空闲').AsString='居住' then //如果此房间已有人居住,提示
ShowMessage('此房已有业主居住')
Else
if Table2.FieldByName('是否空闲').AsSTring='出租' then //如果此房间已出租,提示
ShowMessage('此房已经出租')
Else
if Table2.FieldByName('是否空闲').AsString='空闲' then //如果房间空闲,调入业主登记窗体
If Not Assigned(YZXXLL) Then
begin
YZXXLL:=TYZXXLL.Create(Self);
YZXXLL.ComboBox1.ItemIndex:=0;
YZXXLL.ComboBox2.ItemIndex:=0;
YZXXLL.Label19.Caption:=DBLookupComboBox1.KeyValue;
YZXXLL.Label20.Caption:=Table1.FieldByName('大楼名称').AsString;
YZXXLL.Label21.Caption:=Table2.FieldByName('房间号码').AsString;
YZXXLL.Label22.Caption:=Table2.FieldByName('房间编号').AsString;
YZXXLL.Edit1.Text:=Table2.FieldByName('房间编号').AsString;
YZXXLL.ShowModal;
end;
end;
procedure TYZXXDJ.CheckBox1Click(Sender: TObject); //选择房屋信息显示方式(空闲和非空闲)
begin
If CheckBox1.Checked = True Then Table2.Filtered:=True ELSE Table2.Filtered:=False;
end;
//选择删除业主信息时,将删除业主信息,同时将人口信息(家庭成员)、费用信息删除,房屋信息的房主信息清除。
procedure TYZXXDJ.BitBtn4Click(Sender: TObject); //删除业主信息
begin
If Table3.RecordCount <> 0 Then //判断业主信息是否为空
if MessageDLg('确认删除['+Table3.FieldByName('业主姓名').AsString+']的信息?'
,mtCustom,[mbYes,mbNo],0)=mrYes then
begin
if Table2.Locate('房间编号',Table3.FieldbyName('购入房编号').AsString,[loCaseInsensitive]) then
begin
Table2.Edit;
Table2.FieldByName('房主代号').AsString:=''; //清除房主代号
Table2.FieldByName('房主姓名').AsString:=''; //清除房主姓名
Table2.FieldByName('是否空闲').AsString:='空闲'; //设置房屋为空闲房
Table2.Post;
End
else Exit;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Delete 人口信息 Where 房间代号=:A'); //删除业主家庭成员信息
Query2.ParamByName('A').AsSTring:=Table3.FieldByName('购入房编号').AsString;
Query2.ExecSQL;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Delete 水费 Where 水表编号=:A'); //删除水费信息
Query2.ParamByName('A').AsString:=Table3.FieldbyName('购入房编号').AsString;
Query2.ExecSQL;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Delete 电费 Where 电表编号=:A'); //删除电费信息
Query2.ParamByName('A').AsString:=Table3.FieldbyName('购入房编号').AsString;
Query2.ExecSQL;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Delete 煤气费 Where 煤气表编号=:A'); //删除煤气费信息
Query2.ParamByName('A').AsString:=Table3.FieldbyName('购入房编号').AsString;
Query2.ExecSQL;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Delete 采暖费 Where 采暖费编号=:A'); //删除采暖费费信息
Query2.ParamByName('A').AsString:=Table3.FieldbyName('购入房编号').AsString;
Query2.ExecSQL;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Delete 常用费用 where 收费编号=:A'); //删除常用费信息
Query2.paramByName('A').AsString:=Table3.FieldbyName('购入房编号').AsString;
Query2.ExecSQL;
Query2.CLose;
Query2.SQL.Clear;
Query2.SQL.Add('Delete 其它费用表 Where 收费编号=:A'); //删除其它费信息
Query2.paramByName('A').AsString:=Table3.FieldbyName('购入房编号').AsString;
Query2.ExecSQL;
Table3.Delete;
end;
end;
procedure TYZXXDJ.BitBtn3Click(Sender: TObject); //修改业主信息
begin
If Table3.RecordCount <> 0 Then
If Not Assigned(YZXXLL) Then
begin
YZXXLL:=TYZXXLL.Create(Self);
YZXXLL.BitBtn2.Caption:='确定保存[&A]';
YZXXLL.Edit2.Text:=Table3.FieldByName('业主姓名').AsString;
YZXXLL.Edit4.Text:=Table3.FieldByName('联系地址').AsString;
YZXXLL.Edit3.Text:=Table3.FieldByName('手机').AsString;
YZXXLL.Edit8.Text:=Table3.FieldByName('传呼').AsString;
YZXXLL.Edit10.Text:=Table3.FieldByName('工作单位').AsString;
YZXXLL.Edit11.Text:=Table3.FieldByName('单位电话').AsString;
YZXXLL.Edit5.Text:=Table3.FieldByName('证件名').AsString;
YZXXLL.Edit9.Text:=Table3.FieldByName('证件号').AsString;
YZXXLL.Edit6.Text:=Table3.FieldByName('购房合同书编号').AsString;
YZXXLL.Edit7.Text:=Table3.FieldByName('管理协议书编号').AsString;
YZXXLL.Label19.Caption:=Table3.FieldByName('小区名').AsString;
YZXXLL.Label20.Caption:=Table3.FieldByName('大楼名').AsString;
YZXXLL.Label21.Caption:=Table3.FieldByName('房间号').AsString;
YZXXLL.Label22.Caption:=Table3.FieldByName('购入房编号').AsString;
YZXXLL.Edit1.Text:=Table3.FieldByName('购入房编号').AsString;
if Table3.FieldByName('性别').AsString='男' then YZXXLL.ComboBox1.ItemIndex:=0
else YZXXLL.ComboBox1.ItemIndex:=1;
if Table3.FieldByName('是否进住').AsString='已进住' then YZXXLL.ComboBox2.ItemIndex:=0
else YZXXLL.ComboBox2.ItemIndex:=1;
YZXXLL.DateTimePicker1.Date:=Table3.FieldByName('签约日期').AsDateTime;
YZXXLL.DateTimePicker2.Date:=Table3.FieldByName('进住日期').AsDateTime;
YZXXLL.DateTimePicker3.Date:=Table3.FieldByName('进住起始日期').AsDateTime;
YZXXLL.DateTimePicker4.Date:=Table3.FieldByName('进住截止日期').AsDateTime;
YZXXLL.ShowModal;
end;
end;
procedure TYZXXDJ.RadioButton3Click(Sender: TObject); //选择显示业主进住情况
begin
If RadioButton1.Checked Then //显示进住业主信息
begin
Table3.Filter:=Format('是否进住'+'='+'''%s''',['已进住']);
Table3.Filtered:=True;
end;
If RadioButton2.Checked Then //显示未进住业主信息
begin
Table3.Filter:=Format('是否进住'+'='+'''%s''',['未进住']);
Table3.Filtered:=True;
end;
If RadioButton3.Checked Then //显示全部业主信息
begin
Table3.Filtered:=False;
end;
end;
procedure TYZXXDJ.SpeedButton1Click(Sender: TObject); //查找房屋信息
begin
If Length(Edit1.Text) <> 0 Then
if Not Table2.Locate('房间编号',Edit1.Text,[loPartialKey]) then
ShowMessage('对不起,没有找到?');
end;
procedure TYZXXDJ.BitBtn6Click(Sender: TObject); //修改住户存款信息
begin
If Table3.RecordCount <> 0 Then //如果住户存款信息不为空
If Not Assigned(ZHCKXX) Then
begin
ZHCKXX:=TZHCKXX.Create(Self);
ZHCKXX.Query1.Close;
ZHCKXX.Query1.SQL.Clear;
ZHCKXX.Query1.SQL.Add('Select * From 其它费用表');
ZHCKXX.Query1.SQL.Add('Where 收费编号=:A');
ZHCKXX.Query1.ParamByName('A').AsString:=Table3.FieldByName('业主代号').AsString;
ZHCKXX.Query1.Open;
ZHCKXX.Query2.Close;
ZHCKXX.Query2.SQL.Clear;
ZHCKXX.Query2.SQL.Add('Select * From 常用费用');
ZHCKXX.Query2.SQL.Add('Where 收费编号=:A');
ZHCKXX.Query2.ParamByName('A').AsString:=Table3.FieldByName('业主代号').AsString;
ZHCKXX.Query2.Open;
ZHCKXX.ShowModal;
end;
end;
procedure TYZXXDJ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
YZXXDJ.Release;
YZXXDJ:=Nil;
end;
procedure TYZXXDJ.BitBtn5Click(Sender: TObject);
begin
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -