?? 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 + -