📄 mc_qtfycsh.~pas
字号:
unit MC_QTFYCSH;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBTables, Db, Grids, DBGrids, DBCtrls, StdCtrls, Buttons;
type
TQTFYCSH = class(TForm)
GroupBox1: TGroupBox;
DBLookupComboBox1: TDBLookupComboBox;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
GroupBox3: TGroupBox;
DBGrid2: TDBGrid;
DataSource1: TDataSource;
Query1: TQuery;
Query1BDEDesigner: TStringField;
Query1BDEDesigner2: TStringField;
DataSource2: TDataSource;
Table1: TTable;
Table1BDEDesigner: TStringField;
Table1BDEDesigner2: TStringField;
Table1BDEDesigner7: TStringField;
Table2: TTable;
Table2BDEDesigner: TStringField;
Table2BDEDesigner2: TStringField;
Table2BDEDesigner3: TStringField;
Table2BDEDesigner4: TStringField;
Table2BDEDesigner6: TStringField;
Table2BDEDesigner18: TStringField;
DataSource3: TDataSource;
GroupBox4: TGroupBox;
Table3: TTable;
Table3BDEDesigner: TStringField;
Table2BDEDesigner5: TStringField;
Table2BDEDesigner7: TFloatField;
Table2BDEDesigner8: TFloatField;
Table2BDEDesigner9: TFloatField;
Table2BDEDesigner10: TFloatField;
DataSource4: TDataSource;
DBLookupComboBox2: TDBLookupComboBox;
Label1: TLabel;
Table4: TTable;
Table4BDEDesigner: TStringField;
Table4BDEDesigner2: TFloatField;
DataSource5: TDataSource;
DBLookupComboBox3: TDBLookupComboBox;
Label2: TLabel;
Label3: TLabel;
DBText1: TDBText;
ComboBox1: TComboBox;
Label4: TLabel;
GroupBox5: TGroupBox;
DataSource6: TDataSource;
DBGrid3: TDBGrid;
Query2: TQuery;
Query2BDEDesigner: TStringField;
Query2BDEDesigner2: TStringField;
Query2BDEDesigner3: TFloatField;
Query2BDEDesigner4: TFloatField;
Query2BDEDesigner5: TFloatField;
Query2BDEDesigner6: TFloatField;
Query2BDEDesigner7: TStringField;
Query2BDEDesigner8: TFloatField;
Query2BDEDesigner9: TStringField;
Query2BDEDesigner10: TFloatField;
Query2BDEDesigner11: TDateTimeField;
Query2BDEDesigner12: TDateTimeField;
Query2BDEDesigner13: TFloatField;
Query2BDEDesigner14: TFloatField;
Query2BDEDesigner15: TFloatField;
Query2BDEDesigner16: TFloatField;
Query2BDEDesigner17: TStringField;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
Query3: TQuery;
BitBtn5: TBitBtn;
Edit1: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGrid2CellClick(Column: TColumn);
procedure BitBtn4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
QTFYCSH: TQTFYCSH;
implementation
uses MC_QTKMSD;
{$R *.DFM}
procedure TQTFYCSH.FormClose(Sender: TObject; var Action: TCloseAction);
begin
QTFYCSH.Release;
QTFYCSH:=Nil;
end;
procedure TQTFYCSH.DBGrid2CellClick(Column: TColumn);
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Select * From 其它费用表 Where 收费编号=:A');
Query2.ParamByName('A').AsString:=Table2.FieldByName('房间编号').AsString;
Query2.Open;
end;
procedure TQTFYCSH.BitBtn4Click(Sender: TObject);
begin
Close;
end;
procedure TQTFYCSH.FormShow(Sender: TObject);
begin
ComboBox1.ItemIndex:=0;
DBLookupComboBox2.KeyValue:=Table3.FieldByName('权属类型').AsString;
DBLookupComboBox3.KeyValue:=Table4.FieldByName('科目名').AsSTring;
end;
procedure TQTFYCSH.BitBtn1Click(Sender: TObject);
begin
if DBLookupComboBox2.KeyValue<>Table2.FieldByName('权属类型').AsString then
begin
ShowMessage('对不起,当前方屋的权属类型与之不匹配。'+chr(13)
+'无法更新.');
end
else
begin
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('update 其它费用表 set 收费金额=:A,应收金额=:A,标准金额=:F');
Query3.SQL.Add('Where 费用科目=:B and 收费编号=:C');
Query3.ParamByName('F').AsFloat:=Table4.FieldByName('费用标准').AsFloat;
if Edit1.Text<>'' then
begin
Query3.ParamByName('A').AsFloat:=StrtoFloat(Edit1.Text)
*Table2.FieldByName(ComboBox1.Text).AsFloat;
end
else
Query3.ParamByName('A').AsFloat:=Table4.FieldByName('费用标准').AsFloat
*Table2.FieldByName(ComboBox1.Text).AsFloat;
Query3.ParamByName('B').AsString:=DBLookupComboBox3.KeyValue;
Query3.ParamByName('C').AsString:=Table2.FieldByName('房间编号').AsString;
Query3.ExecSQL;
ShowMessage('更新完毕!');
Query2.Close;
Query2.Open;
end;
end;
procedure TQTFYCSH.BitBtn2Click(Sender: TObject);
begin
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('update 其它费用表 set 收费金额=:A,应收金额=:A,标准金额=:F');
Query3.SQL.Add('Where 费用科目=:B and ');
Query3.SQL.Add('收费编号 in (Select 房间编号 From 房屋信息表 Where 区名=:C and 大楼名=:D ');
Query3.SQL.Add('and 权属类型=:E)');
Query3.ParamByName('F').AsFloat:=Table4.FieldByName('费用标准').AsFloat;
if Edit1.Text<>'' then
begin
Query3.ParamByName('A').AsFloat:=StrtoFloat(Edit1.Text)
*Table2.FieldByName(ComboBox1.Text).AsFloat;
end
else
Query3.ParamByName('A').AsFloat:=Table4.FieldByName('费用标准').AsFloat
*Table2.FieldByName(ComboBox1.Text).AsFloat;
Query3.ParamByName('B').AsString:=DBLookupComboBox3.KeyValue;
Query3.ParamByName('D').AsString:=Table1.FieldByName('大楼名称').AsString;
Query3.ParamByName('C').AsString:=Query1.FieldByName('小区名').AsString;
Query3.ParamByName('E').AsString:=DBLookupComboBox2.KeyValue;
Query3.ExecSQL;
ShowMessage('更新完毕!');
Query2.Close;
Query2.Open;
end;
procedure TQTFYCSH.BitBtn3Click(Sender: TObject);
begin
Query3.close;
Query3.SQL.Clear;
Query3.SQL.Add('Update 其它费用表 set 收费金额=:A,应收金额=:A,标准金额=:F');
Query3.SQL.Add('Where 费用科目=:B and ');
Query3.SQL.Add('收费编号 in (Select 房间编号 From 房屋信息表 Where 区名=:C ');
Query3.SQL.Add('and 权属类型=:E)');
Query3.ParamByName('F').AsFloat:=Table4.FieldByName('费用标准').AsFloat;
if Edit1.Text<>'' then
begin
Query3.ParamByName('A').AsFloat:=StrtoFloat(Edit1.Text)
*Table2.FieldByName(ComboBox1.Text).AsFloat;
end
else
Query3.ParamByName('A').AsFloat:=Table4.FieldByName('费用标准').AsFloat
*Table2.FieldByName(ComboBox1.Text).AsFloat;
Query3.ParamByName('B').AsString:=DBLookupComboBox3.KeyValue;
Query3.ParamByName('C').AsString:=Query1.FieldByName('小区名').AsString;
Query3.ParamByName('E').AsString:=DBLookupComboBox2.KeyValue;
Query3.ExecSQL;
ShowMessage('更新完毕!');
Query2.Close;
Query2.Open;
end;
procedure TQTFYCSH.BitBtn5Click(Sender: TObject);
begin
if NOt Assigned(QTKMSD) then
begin
QTKMSD:=TQTKMSD.Create(Self);
QTKMSD.ShowModal;
Table3.Refresh;
Table4.Refresh;
end;
end;
procedure TQTFYCSH.Edit1KeyPress(Sender: TObject; var Key: Char);
var c: Integer;
begin
if key='.' then
begin
for c:=1 to length(TEdit(Sender).text) do
begin
if Tedit(Sender).text[c]='.' then key:=#0;
end;
end
else
if key=#8 then key:=#8
else
if (key<'0') or (key>'9') then key:=#0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -