📄 pas_sz.pas
字号:
unit pas_SZ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Buttons, ToolWin, Grids, DBGrids, ExtCtrls,
DBCtrls;
type
Tform_sz = class(TForm)
DBGrid_CON: TDBGrid;
ToolBar1: TToolBar;
selectCon: TSpeedButton;
del: TSpeedButton;
GroupBox1: TGroupBox;
Edit_remarks: TEdit;
Label5: TLabel;
Edit_cost: TEdit;
Label4: TLabel;
cb_houseno: TComboBox;
Label7: TLabel;
Label8: TLabel;
Label3: TLabel;
rb_zc: TRadioButton;
rb_sr: TRadioButton;
Label2: TLabel;
Label9: TLabel;
modify: TSpeedButton;
add: TSpeedButton;
cb_cno: TComboBox;
Label10: TLabel;
dtp_occurtime: TDateTimePicker;
Label11: TLabel;
rb_khfz: TRadioButton;
rb_fdfz: TRadioButton;
rb_yj: TRadioButton;
DBGrid: TDBGrid;
select: TSpeedButton;
sp_htjf: TSpeedButton;
Edit_thing: TComboBox;
DBNavigator1: TDBNavigator;
DBNavigator2: TDBNavigator;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label13: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
DBGrid1: TDBGrid;
procedure selectClick(Sender: TObject);
procedure cb_housenoDropDown(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure addClick(Sender: TObject);
procedure modifyClick(Sender: TObject);
procedure delClick(Sender: TObject);
procedure cb_cnoDropDown(Sender: TObject);
procedure selectConClick(Sender: TObject);
procedure rb_yjClick(Sender: TObject);
procedure rb_khfzClick(Sender: TObject);
procedure rb_fdfzClick(Sender: TObject);
procedure rb_zcClick(Sender: TObject);
procedure rb_srClick(Sender: TObject);
procedure sp_htjfClick(Sender: TObject);
procedure DBGridCellClick(Column: TColumn);
procedure DBGridDblClick(Sender: TObject);
procedure Edit_thingDropDown(Sender: TObject);
procedure cb_housenoKeyPress(Sender: TObject; var Key: Char);
procedure DBGrid_CONCellClick(Column: TColumn);
procedure DBGrid_CONDblClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
form_sz: Tform_sz;
implementation
uses pas_dm2, Pas_DM;
{$R *.dfm}
procedure Tform_sz.selectClick(Sender: TObject);
var
s:string;
i:integer;
begin
if (cb_cno.Text='') then
begin
showmessage('合同号不能为空');
exit;
end;
s:= ' where h_no=hp_no and hp_cno=ho_contractno and ho_validorno=1 and hp_cno = '''+trim(cb_cno.Text)+''' ';
with pas_dm2.DM2.query_SZ do
begin
close;
sql.Clear;
sql.Add(' select hp_cno as 合同编号,'+
' h_landlord as 房东姓名 ,'+
' hp_cost as 花费,'+
' hp_occurtime as 发生时间,'+
' hp_thing as 事情,'+
' hp_remarks as 备注,'+
' h_no 房子'+
' from house,housepay,house_histry '+s);
open;
end;
i:=0;
pas_dm2.DM2.query_SZ.First;
while not pas_dm2.DM2.query_SZ.Eof do
begin
i:=i+pas_dm2.DM2.query_SZ.Fields.Fields[2].asinteger;
pas_dm2.DM2.query_SZ.Next;
end;
label18.Caption:=inttostr(i);
end;
procedure Tform_sz.cb_housenoDropDown(Sender: TObject);
var
s:string;
begin
cb_cno.Text:='';
try
with dm.AQ1 do
begin
close;
sql.Clear;
s:='select h_no from house ';
sql.Add(s);
open;
cb_houseno.Items.Clear;
while not dm.AQ1.Eof do
begin
cb_houseno.Items.Add(fields.Fields[0].asstring);
next;
end;
end;
except
end;
end;
procedure Tform_sz.FormShow(Sender: TObject);
begin
rb_zc.SetFocus;
dtp_occurtime.DateTime:=now;
end;
procedure Tform_sz.addClick(Sender: TObject);
var
s:string;
i:integer;
begin
if (cb_houseno.Text='')or (edit_cost.Text='')or(edit_thing.Text='') then
begin
showmessage('除备注外不能为空,请重输入!');
exit;
end;
if IDOK=messagebox(handle,pchar('确认是添加到合同号" '+cb_cno.text+' "吗?别搞错啦哦'),'警告', MB_OKCANCEL) then
begin
//支出费用
if(rb_zc.Checked) then
begin
try
with dm.AQ1 do
begin
close;
sql.Clear;
s:='insert into housepay(hp_no,hp_cost,hp_thing,hp_now,hp_remarks,hp_cord,hp_cno,hp_occurtime) values('''+
trim(cb_houseno.Text)+''','''+trim(edit_cost.Text)+''','''+trim(edit_thing.Text)+''','''+FormatDateTime('yyyy-mm-dd hh:mm:ss',(now()))+''','''+
trim(edit_remarks.Text)+''',0,'''+trim(cb_cno.Text)+''','''+datetostr(dtp_occurtime.DateTime)+''')';
sql.Add(s);
ExecSQL;
showmessage('添加支出'+'成功');
end;
except
showmessage('添加失败');
end;
select.Click;
exit;
end;
//收入费用
if(rb_sr.Checked) then
begin
try
with dm.AQ1 do
begin
close;
sql.Clear;
sql.Clear;
s:='insert into housepay(hp_no,hp_cost,hp_thing,hp_now,hp_remarks,hp_cord,hp_cno,hp_occurtime) values('''+
trim(cb_houseno.Text)+''','''+trim(edit_cost.Text)+''','''+trim(edit_thing.Text)+''','''+FormatDateTime('yyyy-mm-dd hh:mm:ss',(now()))+''','''+
trim(edit_remarks.Text)+''',1,'''+trim(cb_cno.Text)+''','''+datetostr(dtp_occurtime.DateTime)+''')';
sql.Add(s);
ExecSQL;
showmessage('添加收入'+'成功');
end;
except
showmessage('添加失败');
end;
select.Click;
exit;
end;
//房租
if (rb_khfz.Checked) or (rb_fdfz.Checked) then
begin
i:=0;
if (cb_cno.Text='') or (edit_cost.Text='')
then
begin
showmessage('合同编号、租金不能为空');
exit;
end;
with pas_dm.DM.AQ1 do
begin
try
begin
Close;
SQL.Clear;
s:='select max(p_paytimes) from pay where p_cno='''+cb_cno.Text+'''';
SQL.Add(s);
open;
if pas_dm.DM.AQ1.Fields[0].Value<>NULL then
begin
i:=pas_dm.DM.AQ1.Fields.Fields[0].AsInteger;
end;
end;
except
showmessage('失败');
end;
with dm.AQ1 do
begin
try
begin
Close;
SQL.Clear;
s:='insert into pay(p_cno,p_paytimes,p_paymoney,p_now,p_remarks,p_time) values('''+
trim(cb_cno.Text)+''','''+
inttostr(i+1)+''','''+edit_cost.Text+''','''+
FormatDateTime('yyyy-mm-dd hh:mm:ss',(now()))+''','''+edit_remarks.Text+''','''+datetostr(dtp_occurtime.DateTime)+''')';
SQL.Add(s);
execsql;
//同时修改表hint的
with dm.AQ1 do
begin
try
begin
Close;
SQL.Clear;
s:='update hint set hi_fkorno=1 where hi_cno='''+cb_cno.Text+''' and '+
' hi_times='''+inttostr(i+1)+'''';
SQL.Add(s);
execsql;
showmessage('付款成功');
sp_htjf.Click;
end;
except
showmessage('失败');
end;
end;
end;
except
end;
exit;
end;
end;
end;
end;
end;
procedure Tform_sz.modifyClick(Sender: TObject);
var
s:string;
begin
if IDOK=messagebox(handle,pchar('确认修改合同号" '+cb_cno.text+' "吗?别搞错啦哦'),'警告', MB_OKCANCEL) then
begin
if cb_houseno.Text='' then
begin
showmessage('房子编号不能为空');
exit;
end;
try
with dm.AQ1 do
begin
close;
sql.Clear;
s:='update housepay set hp_cost='''+trim(edit_cost.Text)+''',hp_thing='''+
trim(edit_thing.text)+''',hp_remarks='''+trim(edit_remarks.text)+
''',hp_occurtime='''+datetostr(dtp_occurtime.DateTime )+
''',hp_cno='''+trim(cb_cno.Text)+
''' where hp_no='''+trim(cb_houseno.text)+'''' ;
sql.Add(s);
ExecSQL;
showmessage('修改'+'成功');
end;
except
showmessage('修改失败');
end;
select.Click;
end;
end;
procedure Tform_sz.delClick(Sender: TObject);
var
s:string;
begin
if IDOK=messagebox(handle,pchar(cb_houseno.text+'将被删除'),'警告', MB_OKCANCEL)
then
begin
try
with dm.AQ1 do
begin
close;
sql.Clear;
s:='delete housepay where hp_no='''+trim(cb_houseno.text)+'''' ;
sql.Add(s);
ExecSQL;
showmessage('删除'+'成功');
end;
except
showmessage('删除失败');
end;
end;
end;
procedure Tform_sz.cb_cnoDropDown(Sender: TObject);
var
s:string;
begin
try
with dm.AQ1 do
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -