📄 hygl.pas
字号:
unit hygl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBActns, ActnList, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids,
ComCtrls, DB;
type
TF_hygl = class(TForm)
ztl: TStatusBar;
DBGrid: TDBGrid;
group: TRadioGroup;
b_new: TBitBtn;
b_edit: TBitBtn;
b_del: TBitBtn;
b_tz: TBitBtn;
BitBtn5: TBitBtn;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
ActionList1: TActionList;
DataSetFirst1: TDataSetFirst;
DataSetPrior1: TDataSetPrior;
DataSetNext1: TDataSetNext;
DataSetLast1: TDataSetLast;
b_search: TBitBtn;
b_exit: TBitBtn;
DataSource1: TDataSource;
DataSetInsert1: TDataSetInsert;
DataSetDelete1: TDataSetDelete;
DataSetEdit1: TDataSetEdit;
DataSource2: TDataSource;
procedure DataSetInsert1Execute(Sender: TObject);
procedure DataSetEdit1Execute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DataSetDelete1Execute(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure groupClick(Sender: TObject);
procedure b_searchClick(Sender: TObject);
procedure b_tzClick(Sender: TObject);
procedure b_exitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure ztljs;
end;
var
F_hygl: TF_hygl;
zrs,nzs,yzs:integer;//总办证数,年证数,月证数
implementation
uses datam, vipedit, vipcx, viptz;
{$R *.dfm}
procedure TF_hygl.ztljs;
begin
zrs:=dm.ADO_vip.RecordCount;
F_hygl.ztl.panels[1].text:=inttostr(zrs);
dm.ADOQuery.Close;
dm.ADOQuery.SQL.Clear;
dm.ADOQuery.SQL.Add('select count(*) from vip where 证类型="年证"');
dm.ADOQuery.Open;
F_hygl.ztl.panels[3].text:=dm.ADOQuery.Fields[0].AsString;
//月证数量
dm.ADOQuery.Close;
dm.ADOQuery.SQL.Clear;
dm.ADOQuery.SQL.Add('select count(*) from vip where 证类型="月证"');
dm.ADOQuery.Open;
F_hygl.ztl.panels[5].text:=dm.ADOQuery.Fields[0].AsString;
//押金合计
dm.ADOQuery.Close;
dm.ADOQuery.SQL.Clear;
dm.ADOQuery.SQL.Add('select sum(押金) from vip');
dm.ADOQuery.Open;
F_hygl.ztl.panels[7].text:=dm.ADOQuery.Fields[0].AsString+'元';
end;
procedure TF_hygl.DataSetInsert1Execute(Sender: TObject);
begin
dm.ADO_vip.Append;
dm.ADO_vip.FieldByName('性别').AsString:='男';
dm.ADO_vip.FieldByName('证类型').AsString:='年证';
dm.ADO_vip.FieldByName('押金').AsString:='0.00';
F_vipedit:=TF_vipedit.create(application);
F_vipedit.b_ok.tag:=0;
F_vipedit.showmodal;
end;
procedure TF_hygl.DataSetEdit1Execute(Sender: TObject);
begin
F_vipedit:=TF_vipedit.create(application);
F_vipedit.b_ok.tag:=1;
//检测会员有无借书
dm.ADO_czdt.Open;
dm.ADO_czdt.First;
if dm.ADO_czdt.Locate('证号',dm.ADO_vip.fieldbyname('证号').AsString,[]) then
begin
F_vipedit.e_id.Enabled:=false;
dm.ADO_czdt.Close;
end;
dm.ADO_czdt.Close;
//
F_vipedit.showmodal;
end;
procedure TF_hygl.FormCreate(Sender: TObject);
begin
dm.ADO_vip.Open;
dm.ADO_vip.Sort:='证号';
dm.ADO_vip.First;
end;
procedure TF_hygl.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dm.ADO_vip.close;
dm.ADOQuery.Close;
dm.ADOQuery.SQL.Clear;
release;
end;
procedure TF_hygl.DataSetDelete1Execute(Sender: TObject);
var
mes:string;
begin
dm.ADO_czdt.Open;
dm.ADO_czdt.First;
if dm.ADO_czdt.Locate('证号',dm.ADO_vip.fieldbyname('证号').AsString,[]) then
begin
mes:='办证会员 <'+dm.ADO_vip.fieldbyname('姓名').AsString
+'> 还有租借的图书或影碟未还,不能删除!';
application.MessageBox(pchar(mes),pchar('提示')
,+MB_ICONQUESTION);
dm.ADO_czdt.Close;
exit;
end;
dm.ADO_czdt.Close;
mes:='是否要删除办证会员< '+dm.ADO_vip.fieldbyname('证号').AsString+' '
+dm.ADO_vip.fieldbyname('姓名').AsString
+'>';
if application.MessageBox(pchar(mes),pchar('等待确认')
,+MB_ICONQUESTION+mb_okcancel+MB_DEFBUTTON2)=idok then
begin
dm.ADO_vip.Delete;//删除会员记录
dm.ADOQ_cx.Close;
dm.ADOQ_cx.SQL.Clear;
dm.ADOQ_cx.SQL.add('delete from cashbook where 证号='+'"'+dm.ADO_vip.fieldbyname('证号').AsString+'"');
dm.ADOQ_cx.ExecSQL;//删除现金收支记录
dm.ADOQ_cx.Close;
dm.ADOQ_cx.SQL.Clear;
dm.ADOQ_cx.SQL.add('delete from qk where 证号='+'"'+dm.ADO_vip.fieldbyname('证号').AsString+'"');
dm.ADOQ_cx.ExecSQL;//删除欠款记录
dm.ADOQ_cx.Close;
dm.ADO_vip.Delete;//删除会员记录
ztljs;
end;
end;
procedure TF_hygl.FormShow(Sender: TObject);
begin
ztljs;
dbgrid.SetFocus();
end;
procedure TF_hygl.groupClick(Sender: TObject);
begin
case group.ItemIndex of
0:dm.ADO_vip.Sort:='证号';
1:dm.ADO_vip.Sort:='姓名';
2:dm.ADO_vip.Sort:='办证日期';
end;
end;
procedure TF_hygl.b_searchClick(Sender: TObject);
begin
F_vipcx:=TF_vipcx.create(application);
F_vipcx.showmodal;
end;
procedure TF_hygl.b_tzClick(Sender: TObject);
begin
F_viptz:=TF_viptz.create(application);
F_viptz.showmodal;
end;
procedure TF_hygl.b_exitClick(Sender: TObject);
begin
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -