📄 mc_yzxxll.~pas
字号:
unit MC_YZXXLL;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, DBCtrls, Mask, ComCtrls, Grids, DBGrids, ExtCtrls, Buttons, Db,
DBTables;
type
TYZXXLL = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
GroupBox2: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label9: TLabel;
Label10: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Edit1: TEdit;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
DateTimePicker3: TDateTimePicker;
DateTimePicker4: TDateTimePicker;
Edit2: TEdit;
ComboBox1: TComboBox;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
ComboBox2: TComboBox;
Label7: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Panel1: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DataSource1: TDataSource;
Query1: TQuery;
Query2: TQuery;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Edit3: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Query3: TQuery;
Query4: TQuery;
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn2Click(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
YZXXLL: TYZXXLL;
implementation
uses MC_YZXXDJ, MC_Data;
{$R *.DFM}
procedure TYZXXLL.BitBtn2Click(Sender: TObject); //保存业主信息
begin
if (Length(Edit2.Text)=0) or(Length(Edit3.Text)=0) or(Length(Edit4.Text)=0) or
(Length(Edit5.Text)=0) or(Length(Edit6.Text)=0) or (Length(Edit7.Text)=0) then
begin
ShowMessage('请将数据添全');
Exit;
End
Else
If (DateTimePicker3.Date >= DateTimePicker2.Date) Or (DateTimePicker2.Date >= DateTimePicker4.Date) Then
begin
DateTimePicker2.Date:=DateTimePicker4.Date;
end;
if ComboBox2.Text='已进住' then
begin
//加水费信息
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Insert 水费(水表编号,户主姓名,收费标准,收费金额,计费起始日期,本月读数,上月读数,使用数,应收金额,实收金额,剩余金额)');
Query1.SQL.Add('Values(:A,:B,:C,0,:D,0,0,0,0,0,0)');
Query1.ParamByName('A').AsString:=Label22.Caption;
Query1.ParamByName('B').AsString:=Edit2.Text;
Query1.ParamByName('C').AsString:='空';
Query1.ParamByName('D').AsDateTime:=DateTimePicker2.Date;
Query1.ExecSQL;
//加电费信息
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Insert 电费(电表编号,户主姓名,收费标准,收费金额,计费起始日期,本月读数,上月读数,使用数,应收金额,实收金额,剩余金额)');
Query1.SQL.Add('Values(:A,:B,:C,0,:D,0,0,0,0,0,0)');
Query1.ParamByName('A').AsString:=Label22.Caption;
Query1.ParamByName('B').AsString:=Edit2.Text;
Query1.ParamByName('C').AsString:='空';
Query1.ParamByName('D').AsDateTime:=DateTimePicker2.Date;
Query1.ExecSQL;
//加煤气费信息
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Insert 煤气费(煤气表编号,户主姓名,收费标准,收费金额,计费起始日期,本月读数,上月读数,使用数,应收金额,实收金额,剩余金额)');
Query1.SQL.Add('Values(:A,:B,:C,0,:D,0,0,0,0,0,0)');
Query1.ParamByName('A').AsString:=Label22.Caption;
Query1.ParamByName('B').AsString:=Edit2.Text;
Query1.ParamByName('C').AsString:='空';
Query1.ParamByName('D').AsDateTime:=DateTimePicker2.Date;
Query1.ExecSQL;
//加采暖费信息
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Insert 采暖费(采暖费编号,户主姓名,建筑面积)');
Query1.SQL.Add('Values(:A,:B,:C)');
Query1.ParamByName('A').AsString:=Label22.Caption;
Query1.ParamByName('B').AsString:=Edit2.Text;
Query1.ParamByName('C').AsFloat:=YZXXDJ.Table2.FieldByName('建筑面积').AsFloat;
Query1.ExecSQL;
//加其他费用
Query4.Close;
Query4.SQL.Clear;
Query4.SQL.Add('Select DisTinct 费用科目 ,标准金额 From 其它费用表');
Query4.Open;
If Query4.RecordCount = 0 Then //如果无其他收费项目
begin
Query3.First; //移到其他科目第一条记录
while Not Query3.Eof do //添加所有其他科目
begin
Query1.CLose;
Query1.SQL.Clear;
Query1.SQL.Add('Insert 其它费用表(收费编号,户主姓名,建筑面积,使用面积,公有面积,私有面积,标准名称,标准金额,费用科目,收费金额,计费起始日期,应收金额,实收金额,剩余金额,减免金额,原因)');
Query1.SQL.Add('Values(:A,:B,:C,:D,:E,:F,:G,:H,:I,0,:K,0,0,0,0,:R)');
Query1.ParamByName('A').AsString:=Label22.Caption;
Query1.ParamByName('B').AsString:=Edit2.Text;
Query1.ParamByName('C').AsFloat:=YZXXDJ.Table2.FieldByName('建筑面积').AsFloat;
Query1.ParamByName('D').AsFloat:=YZXXDJ.Table2.FieldByName('使用面积').AsFloat;
Query1.ParamByName('E').AsFloat:=YZXXDJ.Table2.FieldByName('公产面积').AsFloat;
Query1.ParamByName('F').AsFloat:=YZXXDJ.Table2.FieldByName('私产面积').AsFloat;
Query1.ParamByName('G').AsString:='空';
Query1.ParamByName('H').AsFloat:=Query3.FieldByName('费用标准').AsFloat;
Query1.ParamByName('I').AsString:=Query3.FieldByName('科目名').AsString;
Query1.ParamByName('K').AsDateTime:=DateTimePicker2.Date;
Query1.ParamByName('R').AsString:='空';
Query1.ExecSQL;
Query3.Next;
End;
End
Else //如果有其他收费项目
begin
Query4.First;
While not Query4.Eof do //添加所有收费项目
begin
Query1.Close;
Query1.SQL.clear;
Query1.SQL.Add('Insert 其它费用表(收费编号,户主姓名,建筑面积,使用面积,公有面积,私有面积,标准名称,标准金额,费用科目,收费金额,计费起始日期,应收金额,实收金额,剩余金额,减免金额,原因)');
Query1.SQL.Add('Values(:A,:B,:C,:D,:E,:F,:G,:H,:I,0,:K,0,0,0,0,:R)');
Query1.ParamByName('A').AsString:=Label22.Caption;
Query1.ParamByName('B').AsString:=Edit2.Text;
Query1.ParamByName('C').AsFloat:=YZXXDJ.Table2.FieldByName('建筑面积').AsFloat;
Query1.ParamByName('D').AsFloat:=YZXXDJ.Table2.FieldByName('使用面积').AsFloat;
Query1.ParamByName('E').AsFloat:=YZXXDJ.Table2.FieldByName('公产面积').AsFloat;
Query1.ParamByName('F').AsFloat:=YZXXDJ.Table2.FieldByName('私产面积').AsFloat;
Query1.ParamByName('G').AsString:='空';
Query1.ParamByName('H').AsFloat:=Query4.FieldByName('标准金额').AsFloat;
Query1.ParamByName('I').AsString:=Query4.FieldByName('费用科目').AsString;
Query1.ParamByName('K').AsDateTime:=DateTimePicker2.Date;
Query1.ParamByName('R').AsString:='空';
Query1.ExecSQL;
Query4.Next;
end;
end;
Query4.Close;
Query4.SQL.Clear;
Query4.SQL.Add('Select DisTinct 费用科目 ,收费金额 From 常用费用');
Query4.Open;
If Query4.RecordCount = 0 Then //如果无常用费用
begin
Query2.First; //移到收费科目第一条记录
While not Query2.Eof do //添加所有费用科目
begin //添加常用收费
Query1.close;
Query1.SQL.clear;
Query1.SQL.Add('Insert 常用费用(收费编号,户主姓名,费用科目,收费金额,计费起始日期,应收金额,实收金额,剩余金额)');
Query1.SQL.Add('Values(:A,:B,:C,:D,:E,0,0,0)');
Query1.ParamByName('A').AsString:=Label22.Caption;
Query1.ParamByName('B').AsString:=Edit2.Text;
Query1.ParamByName('C').AsString:=Query2.fieldByname('科目名').AsString;
Query1.ParamByName('D').AsFloat:=Query2.fieldByname('费用标准').asFloat;
Query1.ParamByName('E').AsDateTime:=DateTimePicker2.Date;
query1.ExecSQL;
Query2.Next;
end;
End
Else //如果有常用费用
begin
Query4.First; //移到常用费用表的第一条记录
While not Query4.Eof do //添加所有常用收费项目
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Insert 常用费用(收费编号,户主姓名,费用科目,收费金额,计费起始日期,应收金额,实收金额,剩余金额)');
Query1.SQL.Add('Values(:A,:B,:C,:D,:E,0,0,0)');
Query1.ParamByName('A').AsString:=Label22.Caption;
Query1.ParamByName('B').AsString:=Edit2.Text;
Query1.ParamByName('C').AsString:=Query4.fieldByname('费用科目').AsString;
Query1.ParamByName('D').AsFloat:=Query4.fieldByname('收费金额').asFloat;
Query1.ParamByName('E').AsDateTime:=DateTimePicker2.Date;
Query1.ExecSQL;
Query4.Next;
end;
end;
end;
//结束已进住操作
YZXXDJ.Table3.InsertRecord([Edit1.Text,Edit2.Text,ComboBox1.Text,Edit4.Text
,Edit3.Text,Edit8.Text,Edit10.Text,Edit11.Text,Edit5.Text,Edit9.Text
,DateTimePicker1.Date,DateTimePicker2.Date,DateTimePicker3.Date,DateTimePicker4.Date
,ComboBox2.Text,Edit7.Text,Edit6.Text,Label22.Caption,Label19.Caption,Label20.Caption
,Label21.Caption]);
YZXXDJ.Table3.RefResh;
YZXXDJ.Table2.Edit; //修改业主信息
YZXXDJ.Table2.FieldByName('房主代号').AsString:=Label22.Caption;
YZXXDJ.Table2.FieldByName('房主姓名').AsString:=Edit2.Text;
YZXXDJ.Table2.FieldByName('是否空闲').AsString:='居住';
YZXXDJ.Table2.FieldByName('房屋状态').AsString:='居住中';
YZXXDJ.Table2.Post;
YZXXDJ.Table2.Refresh;
Close;
end;
procedure TYZXXLL.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then PerForm(WM_NEXTDLGCTL,0,0); //跳转焦点
end;
procedure TYZXXLL.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then PerForm(WM_NEXTDLGCTL,0,0); //跳转焦点
end;
procedure TYZXXLL.BitBtn1Click(Sender: TObject);
begin
close;
end;
procedure TYZXXLL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
YZXXLL.Release;
YZXXLL:=Nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -