?? mc_qtkmsd.~pas
字號:
unit MC_QTKMSD;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls, Db, DBTables, Grids, DBGrids, Buttons;
type
TQTKMSD = class(TForm)
Table1: TTable;
Table1BDEDesigner: TStringField;
Table1BDEDesigner2: TFloatField;
DataSource1: TDataSource;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Edit1: TEdit;
Edit2: TEdit;
Query3: TQuery;
Query1: TQuery;
GroupBox3: TGroupBox;
DBGrid2: TDBGrid;
Query2: TQuery;
Query4: TQuery;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn3: TBitBtn;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
QTKMSD: TQTKMSD;
implementation
{$R *.DFM}
procedure TQTKMSD.BitBtn2Click(Sender: TObject);
begin
if Table1.RecordCount<>0 then
if MessageDLg('是否刪除當前信息?',mtCustom,[mbYes,mbNO],0)=mrYes then
Table1.Delete;
end;
procedure TQTKMSD.BitBtn1Click(Sender: TObject);
begin
if (Length(Edit1.Text)=0) or (Length(Edit1.Text)=0) then
ShowMessage('請將信息添全!')
else
begin
Try
Table1.AppendRecord([Edit1.Text,StrToFloat(Edit2.Text)]);
Except
ShowMessage('非法數據,添加失敗.');
end;
end;
end;
procedure TQTKMSD.FormClose(Sender: TObject; var Action: TCloseAction);
begin
QTKMSD.Release;
QTKMSD:=Nil;
end;
procedure TQTKMSD.BitBtn4Click(Sender: TObject);
begin
if Query2.RecordCount<>0 then
if MessageDLG('是否刪除['+Query2.FieldByName('費用科目').AsString+']的信息?'
,mtCustom,[mbYes,mbNo],0)=mrYes then
if MessageDLG('用戶的剩余金額也會被刪除,您真確認刪除嗎?',mtCustom
,[mbYes,mbNo],0)=mrYes then
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Where 費用科目=:A');
Query1.ParamByName('A').AsString:=Query2.FieldByName('費用科目').AsString;
Try
Query1.ExecSQL;
Query2.Close;
Query2.Open;
Except
ShowMessage('刪除失敗.');
end;
end;
end;
procedure TQTKMSD.BitBtn5Click(Sender: TObject);
begin
if Query2.Locate('費用科目',Table1.FieldByName('科目名').AsString,[loCaseInsensitive]) then
ShowMessage('科目已經存在')
else
if MessageDLg('是否將['+Table1.FieldByName('科目名').AsString
+']的科目信息添加到費用表中,并為其用戶初始化信息?',mtCustom
,[mbYes,mbNo],0)=mrYes then
begin
Query3.Close;
Query3.Open;
while not Query3.Eof do
begin
Query4.Close;
Query4.SQL.Clear;
Query4.SQL.Add('Select * From 房屋信息表 Where 房間編號=:A');
Query4.ParamByName('A').AsString:=Query3.FieldByName('水表編號').AsString;
Query4.Open;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Insert 其它費用表(收費編號,戶主姓名,建筑面積,使用面積,公有面積,私有面積,標準名稱,標準金額,費用科目,收費金額,計費起始日期,應收金額,實收金額,剩余金額,減免金額,原因)');
Query1.SQL.Add('Values(:A,:B,:C,:D,:E,:F,:G,:H,:I,:J,:K,:N,:O,:P,:Q,:R)');
Query1.ParamByName('A').AsString:=Query3.FieldByName('水表編號').AsString;
Query1.ParamByName('B').AsString:=Query3.FieldByName('戶主姓名').AsString;
Query1.ParamByName('C').AsFloat:=Query4.FieldByName('建筑面積').AsFloat;
Query1.ParamByName('D').AsFloat:=Query4.FieldByName('使用面積').AsFloat;
Query1.ParamByName('E').AsFloat:=Query4.FieldByName('公產面積').AsFloat;
Query1.ParamByName('F').AsFloat:=Query4.FieldByName('私產面積').AsFloat;
Query1.ParamByName('G').AsString:='空';
Query1.ParamByName('H').AsFloat:=Table1.FieldByName('費用標準').AsFloat;
Query1.ParamByName('I').AsString:=Table1.FieldByName('科目名').AsString;
Query1.ParamByName('J').AsFloat:=0;
Query1.ParamByName('K').AsDateTime:=date;
Query1.ParamByName('N').AsFloat:=0;
Query1.ParamByName('O').AsFloat:=0;
Query1.ParamByName('P').AsFloat:=0;
Query1.ParamByName('Q').AsFloat:=0;
Query1.ParamByName('R').AsString:='空';
Query1.ExecSQL;
Query3.Next;
end;
ShowMessage('添加完畢');
Query2.close;
Query2.Open;
end;
end;
procedure TQTKMSD.BitBtn3Click(Sender: TObject);
begin
Close;
end;
procedure TQTKMSD.BitBtn6Click(Sender: TObject);
begin
if MessageDLG('是否更新['+Table1.FieldByName('科目名').AsString+']的費用信息'
,mtCustom,[mbYes,mbNo],0)=mrYes then
begin
Query4.Close;
Query4.SQL.Clear;
Query4.SQL.Add('Update 其它費用表 Set 標準金額=:B');
Query4.SQL.Add('where 費用科目=:A');
Query4.ParamByName('A').AsString:=Table1.FieldByName('科目名').AsString;
Query4.ParamByName('B').AsFloat:=Table1.FieldByName('費用標準').AsFloat;
Try
Query4.ExecSQL;
ShowMessage('更新完畢.');
Except
ShowMessage('更新失敗.');
end;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -