📄 mc_dcbysj.pas
字号:
unit MC_DCBYSJ;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Db, DBTables;
type
TDCBYSJ = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
Query1: TQuery;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DCBYSJ: TDCBYSJ;
implementation
uses MC_MainForm;
{$R *.DFM}
procedure TDCBYSJ.FormShow(Sender: TObject); //启动时判断操作员的操作权限
begin
if MainForm.Query1.Locate('使用选项','导出本月收费数据',[loCaseInsensitive]) then
begin
if MainForm.Query1.FieldByName('读写').AsString='读' then
begin
BitBtn1.Enabled:=False;
BitBtn2.Enabled:=False;
BitBtn3.Enabled:=False;
BitBtn4.Enabled:=False;
BitBtn5.Enabled:=False;
end;
end;
end;
procedure TDCBYSJ.BitBtn1Click(Sender: TObject); //初始化下月水表信息
begin
if MessageDLG('是否导出本月水费信息?',mtCustom,[mbYes,mbNO],0)=mrYes then
begin
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('Insert 历史水费(水表编号,户主姓名,收费标准,收费金额,计费起始日期,计费终止日期,上月读数,使用数,应收金额,实收金额,剩余金额,本月余额)');
SQL.Add('Select 水表编号,户主姓名,收费标准,收费金额,计费起始日期,计费终止日期,上月读数,使用数,应收金额,实收金额,剩余金额,本月余额 From 水费');
ExecSQL; //将本月水费导出到历史水费表中
Close;
SQL.Clear;
SQL.Add('Update 水费 Set 计费起始日期=计费终止日期,上月读数=本月读数,使用数=:B,应收金额=:A,实收金额=:B,剩余金额=剩余金额+本月余额,本月余额=:A');
ParamByname('B').AsInteger:=0;
ParamByname('A').AsFloat:=0;
ExecSQL; //初始化下月水表信息
end;
ShowMessage('操作完毕!!');
end;
end;
procedure TDCBYSJ.BitBtn2Click(Sender: TObject); //初始化下月电费信息
begin
if MessageDLG('是否导出本月电费信息?',mtCustom,[mbYes,mbNO],0)=mrYes then
begin
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('Insert 历史电费(电表编号,户主姓名,收费标准,收费金额,计费起始日期,计费终止日期,上月读数,使用数,应收金额,实收金额,剩余金额,本月余额)');
SQL.Add('Select 电表编号,户主姓名,收费标准,收费金额,计费起始日期,计费终止日期,上月读数,使用数,应收金额,实收金额,剩余金额,本月余额 From 电费');
ExecSQL; //将本月电费导出到历史电费表中
Close;
SQL.Clear;
SQL.Add('Update 电费 Set 计费起始日期=计费终止日期,上月读数=本月读数,使用数=:B,应收金额=:A,实收金额=:B,剩余金额=剩余金额+本月余额,本月余额=:A');
ParamByname('B').AsInteger:=0;
ParamByname('A').AsFloat:=0;
ExecSQL; //初始化下月电费信息
end;
ShowMessage('操作完毕!!');
end;
end;
procedure TDCBYSJ.BitBtn3Click(Sender: TObject); //初始化下月煤气费信息
begin
if MessageDLG('是否导出本月煤气费信息?',mtCustom,[mbYes,mbNO],0)=mrYes then
begin
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('Insert 历史煤气费(煤气表编号,户主姓名,收费标准,收费金额,计费起始日期,计费终止日期,上月读数,使用数,应收金额,实收金额,剩余金额,本月余额)');
SQL.Add('Select 煤气表编号,户主姓名,收费标准,收费金额,计费起始日期,计费终止日期,上月读数,使用数,应收金额,实收金额,剩余金额,本月余额 From 煤气费');
ExecSQL; //导出本月煤气信息到历史煤气表中
Close;
SQL.Clear;
SQL.Add('Update 煤气费 Set 计费起始日期=计费终止日期,上月读数=本月读数,使用数=:B,应收金额=:A,实收金额=:B,剩余金额=剩余金额+本月余额,本月余额=:A');
ParamByname('B').AsInteger:=0;
ParamByname('A').AsFloat:=0;
ExecSQL; //初始化下月煤气费信息
end;
ShowMessage('操作完毕!!');
end;
end;
procedure TDCBYSJ.BitBtn4Click(Sender: TObject); //初始化下月常用费用
begin
if MessageDLG('是否导出常用费信息?',mtCustom,[mbYes,mbNO],0)=mrYes then
begin
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('insert 历史常用费用(收费编号,户主姓名,费用科目,收费金额,计费起始日期,计费终止日期,应收金额,实收金额,剩余金额,减免金额,原因,本次余额,本次补交)');
SQL.Add('Select 收费编号,户主姓名,费用科目,收费金额,计费起始日期,计费终止日期,应收金额,实收金额,剩余金额,减免金额,原因,本次余额,本次补交 From 常用费用');
ExecSQL; //将本月常用信息导出到历史常用费用
Close;
SQL.Clear;
SQL.Add('Update 常用费用 Set 计费起始日期=计费终止日期,实收金额=:A,减免金额=:A,原因=:B,剩余金额=剩余金额+本次余额,本次余额=:A,本次补交=:A');
ParamByName('A').AsFloat:=0;
ParamByName('B').AsString:='空';
ExecSQL; //初始化下月常用费用
end;
ShowMessage('操作完毕');
end;
end;
procedure TDCBYSJ.BitBtn5Click(Sender: TObject); //初始化下月其他费用
begin
if MessageDLG('是否导出其它费信息?',mtCustom,[mbYes,mbNO],0)=mrYes then
begin
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('Insert 历史其它费用(收费编号,户主姓名,建筑面积,使用面积,公有面积,私有面积');
SQL.Add(',标准名称,标准金额,费用科目,收费金额,计费起始日期,计费终止日期,应收金额,实收金额,剩余金额');
SQL.Add(',减免金额,原因,本次余额,本次补交)');
SQL.Add('Select 收费编号,户主姓名,建筑面积,使用面积,公有面积,私有面积');
SQL.Add(',标准名称,标准金额,费用科目,收费金额,计费起始日期,计费终止日期,应收金额,实收金额,剩余金额');
SQL.Add(',减免金额,原因,本次余额,本次补交 From 其它费用表');
ExecSQL; //将本月其他信息导出到历史其他费用
Close;
SQL.Clear;
SQL.Add('update 其它费用表 set 计费起始日期=计费终止日期,实收金额=:A,减免金额=:A,原因=:B,剩余金额=剩余金额+本次余额,本次余额=:A,本次补交=:A');
ParamByName('A').AsFloat:=0;
ParamByName('B').AsString:='空';
ExecSQL; //初始化下月其他费用
end;
ShowMessage('操作完毕');
end;
end;
procedure TDCBYSJ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DCBYSJ.release;
DCBYSJ:=Nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -