【delphi开源代码栏目提醒】:本文主要为网学会员提供MC_DCBYSJ.pas,希望对需要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 收费编号,户主,费用科目,收费金额,计费起始日期,计费终止日期,应收金额,实收金额,剩余金额,减免金额,原因,本次余额,本次补交 Fr