📄 data.~pas
字号:
IF DM.whccdads.State IN [DSINSERT] THEN
DM.whccdads.Post;
DM.whccdads.Edit;
DM.whccdads.AfterPost:=DM.whCcdadsAfterPost;
DM.whccdads.BeforePost:=DM.whCcdadsBeforePost;
end;
procedure Tdm.whccmxadsBeforePost(DataSet: TDataSet);
begin
if (dm.whccmxads.FieldByName('材料编码').Value='') OR
(dm.whccmxads.FieldByName('材料编码').IsNull) THEN
begin
showmessage('明细数据不完整.');
abort;
end;
dm.wlpdads.Close;
dm.wlpdads.CommandText:='select * from 材料表 where 材料编码='+''''+
dm.whjcmxads.fieldbyname('材料编码').Value+'''';
dm.wlpdads.Open;
if dm.wlpdads.RecordCount=0 then
begin
showmessage('明细中有不存在的材料,请查清再输。');
abort;
end;
//if dm.whccmxads.FieldByName('数量').IsNull then
//begin
// showmessage('数量必须大于0');
// abort;
//end;
end;
procedure Tdm.whccmxadsNewRecord(DataSet: TDataSet);
begin
dm.whccmxads.FieldByName('出仓单号').Value:=
dm.whccdads.FieldByName('出仓单号').Value;
dm.whccmxads.FieldByName('数量').Value:=1;
dm.whccmxads.FieldByName('单价').Value:=0;
end;
procedure Tdm.whccmxadsPostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
begin
showmessage('明细数据不完整!');
end;
procedure Tdm.whjcdadsBeforeCancel(DataSet: TDataSet);
begin
if dm.whjcmxads.State in [dsedit,dsinsert] then
dm.whjcmxads.Cancel;
end;
procedure Tdm.whccdadsBeforeCancel(DataSet: TDataSet);
begin
if dm.whccmxads.State in [dsedit,dsinsert] then
dm.whccmxads.Cancel;
end;
procedure Tdm.whjcmxadsDSDesigner2Change(Sender: TField);
begin
if (not dm.whjcmxads.FieldByName('数量').IsNull) and
(not dm.whjcmxads.FieldByName('单价').IsNull) then
dm.whjcmxads.FieldByName('金额').Value:=
dm.whjcmxads.FieldByName('数量').Value*
dm.whjcmxads.FieldByName('单价').Value;
end;
procedure Tdm.whccmxadsDSDesigner2Change(Sender: TField);
begin
if (not dm.whccmxads.FieldByName('数量').IsNull) and
(not dm.whccmxads.FieldByName('单价').IsNull) then
dm.whccmxads.FieldByName('金额').Value:=
dm.whccmxads.FieldByName('数量').Value*
dm.whccmxads.FieldByName('单价').Value;
end;
procedure Tdm.whgysdmadsBeforeEdit(DataSet: TDataSet);
begin
if gyswhfrm.Showing then
begin
gyswhfrm.pagecontrol1.ActivePageIndex:=0;
gyswhfrm.DBEdit1.SetFocus;
end;
end;
procedure Tdm.djwhads_cpjcdmxDSDesigner3Change(Sender: TField);
begin
if (not dm.djwhads_cpjcdmx.FieldByName('数量').IsNull) and
(not dm.djwhads_cpjcdmx.FieldByName('单价').IsNull) then
dm.djwhads_cpjcdmx.FieldByName('金额').Value:=
dm.djwhads_cpjcdmx.FieldByName('数量').Value*
dm.djwhads_cpjcdmx.FieldByName('单价').Value;
end;
procedure Tdm.cshads_cpkcBeforePost(DataSet: TDataSet);
begin
if cshads_cpkc.FieldByName('初始余量').IsNull or
cshads_cpkc.FieldByName('初始余额').IsNull then
begin
showmessage('对不起,数量或金额不能为空');
abort;
end;
end;
procedure Tdm.cshads_clkcBeforePost(DataSet: TDataSet);
begin
if cshads_cpkc.FieldByName('初始数量').IsNull or
cshads_cpkc.FieldByName('初始金额').IsNull then
begin
showmessage('对不起,数量或金额不能为空');
abort;
end;
end;
procedure Tdm.cshads_clkcBeforeInsert(DataSet: TDataSet);
begin
abort;
end;
procedure Tdm.cshads_cpkcBeforeInsert(DataSet: TDataSet);
begin
abort;
end;
procedure Tdm.cxads_bmlyhzCalcFields(DataSet: TDataSet);
begin
if (not dm.cxads_bmlyhz.FieldByName('数量').Value=0) and
(not dm.cxads_bmlyhz.FieldByName('数量').IsNull) then
dm.cxads_bmlyhz.FieldByName('均价').Value:=
dm.cxads_bmlyhz.FieldByName('金额').Value/
dm.cxads_bmlyhz.FieldByName('数量').Value;
end;
procedure Tdm.cxads_xskhhzCalcFields(DataSet: TDataSet);
begin
if (not dm.cxads_xskhhz.FieldByName('数量').Value=0) and
(not dm.cxads_xskhhz.FieldByName('数量').IsNull) then
dm.cxads_xskhhz.FieldByName('均价').Value:=
dm.cxads_xskhhz.FieldByName('金额').Value/
dm.cxads_xskhhz.FieldByName('数量').Value;
end;
procedure Tdm.djwhads_cpxsdBeforeEdit(DataSet: TDataSet);
begin
decodedate(dm.djwhads_cpxsd.FieldByName('日期').Value,year,month,day);
if lastjznf<>year then
begin
MessageDlg('当前单据已结转,不能修改!', mtError , [mbOK], 0);
abort;
end;
end;
procedure Tdm.djwhads_cpjcdBeforeEdit(DataSet: TDataSet);
begin
decodedate(dm.djwhads_cpjcd.FieldByName('日期').Value,year,month,day);
if lastjznf<>year then
begin
MessageDlg('当前单据已结转,不能修改!', mtError , [mbOK], 0);
abort;
end;
end;
procedure Tdm.whjcdadsBeforeEdit(DataSet: TDataSet);
begin
decodedate(dm.whjcdads.FieldByName('日期').Value,year,month,day);
if lastjznf<>year then
begin
MessageDlg('当前单据已结转,不能修改!', mtError , [mbOK], 0);
abort;
end;
end;
procedure Tdm.whccdadsBeforeEdit(DataSet: TDataSet);
begin
decodedate(dm.whccdads.FieldByName('日期').Value,year,month,day);
if lastjznf<>year then
begin
MessageDlg('当前单据已结转,不能修改!', mtError , [mbOK], 0);
abort;
end;
end;
procedure Tdm.djwhads_cpjcdAfterScroll(DataSet: TDataSet);
begin
if Assigned(frm_cpjcdwh) then
begin
frm_cpjcdwh.DBGridEh1.SumList.RecalcAll;
frm_cpjcdwh.Label12.Caption:='共有单据:'+
inttostr(dm.djwhads_cpjcd.RecordCount)+'笔';
end;
end;
procedure Tdm.djwhads_cpxsdAfterScroll(DataSet: TDataSet);
begin
if Assigned(frm_cpxsdwh) then
begin
frm_cpxsdwh.DBGridEh1.SumList.RecalcAll;
frm_cpxsdwh.Label12.Caption:='共有单据:'+
inttostr(dm.djwhads_cpxsd.RecordCount)+'笔';
end
end;
procedure Tdm.whjcdadsAfterScroll(DataSet: TDataSet);
begin
if Assigned(jcdwhfrm) then
begin
jcdwhfrm.DBGridEh1.SumList.RecalcAll;
jcdwhfrm.Label12.Caption:='共有单据:'+
inttostr(dm.whjcdads.RecordCount)+'笔';
end
end;
procedure Tdm.whccdadsAfterScroll(DataSet: TDataSet);
begin
if Assigned(ccdwhfrm) then
begin
ccdwhfrm.DBGridEh1.SumList.RecalcAll;
ccdwhfrm.Label12.Caption:='共有单据:'+
inttostr(dm.whccdads.RecordCount)+'笔';
end;
end;
procedure Tdm.whccmxadsBeforeDelete(DataSet: TDataSet);
begin
if MessageDlg('确实要删除当前明细记录吗 ?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
begin
dm.whccmxads.Delete;
end;
end;
procedure Tdm.whjcmxadsBeforeDelete(DataSet: TDataSet);
begin
if MessageDlg('确实要删除当前明细记录吗 ?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
begin
dm.whjcdads.Delete;
end;
end;
procedure Tdm.djwhads_cpjcdmxBeforeDelete(DataSet: TDataSet);
begin
if MessageDlg('确实要删除当前明细记录吗 ?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
begin
dm.djwhads_cpjcdmx.Delete;
end
end;
procedure Tdm.djwhads_cpxsdmxBeforeDelete(DataSet: TDataSet);
begin
if MessageDlg('确实要删除当前明细记录吗 ?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
begin
dm.djwhads_cpxsdmx.Delete;
end
end;
procedure Tdm.ads_djfkdNewRecord(DataSet: TDataSet);
begin
dm.ads_djfkd.FieldByName('日期').Value:=date();
end;
procedure Tdm.ads_djskdNewRecord(DataSet: TDataSet);
begin
dm.ads_djskd.FieldByName('日期').Value:=date();
end;
procedure Tdm.cdqxadsBeforeInsert(DataSet: TDataSet);
begin
abort;
end;
procedure Tdm.yhadsAfterPost(DataSet: TDataSet);
begin
adocn.CommitTrans;
dm.cdqxads.CLOSE;
dm.cdqxads.open;
end;
procedure Tdm.yhadsPostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
begin
adocn.RollbackTrans;
end;
procedure Tdm.yhadsAfterCancel(DataSet: TDataSet);
begin
if dm.cdqxads.Modified then
dm.cdqxads.Cancel;
end;
procedure Tdm.cdqxadsBeforePost(DataSet: TDataSet);
begin
IF CDQXADS.FieldByName('权限').IsNull then
CDQXADS.FieldByName('权限').value:=0;
end;
procedure Tdm.yhadsBeforeDelete(DataSet: TDataSet);
begin
ADOCN.Execute('delete from 菜单权限 where 用户id='+''''+
dm.yhads.fieldbyname('用户id').Value+'''');
dm.cdqxads.Prepared;
end;
procedure Tdm.DataModuleCreate(Sender: TObject);
var ConnStrFile,str_connet:string;
begin
ConnStrFile:=ExtractFileDir(application.ExeName)+'\Sqlnet.mdb';
if FileExists(ConnStrFile) then
BEGIN
dm.serversetupado.Close;
dm.serversetupado.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source='+connstrfile+';Jet OLEDB:Database Password=dell .;';
dm.serversetupado.Open;
dm.adocn.Close;
dm.serverads.Open;
while (dm.serverads.FieldByName('connet').Value=false) and
dm.serverads.Active do
begin
if not assigned(serverfrm) then
serverfrm := tserverfrm.Create(Self);
serverfrm.ShowModal;
end;
if assigned(serverfrm) then
serverfrm.Close;
if not application.Terminated then
begin
dm.serverads.Close;
dm.serverads.Open;
str_connet:='Provider=SQLOLEDB.1;Data Source='+
dm.serverads.fieldbyname('Data Source').Value+
';Initial Catalog='+
dm.serverads.fieldbyname('Initial Catalog').Value+
';User ID='+
dm.serverads.fieldbyname('User ID').Value+
';Password='+
dm.serverads.fieldbyname('Password').Value;
dm.adocn.Close;
DM.adocn.ConnectionString:=STR_CONNET;
try
DM.adocn.Connected:=TRUE;
if not assigned(dlpdfrm) then
dlpdfrm := tdlpdfrm.Create(Self);
dlpdfrm.ShowModal;
except
showmessage('无法连接服务器,请检查服务器或配置文件!');
application.Terminate;
end;
end;
END
ELSE
begin
application.MessageBox('缺少连接信息,连接服务器失败','注意!', );
application.Terminate;
end;
end;
procedure Tdm.serveradsBeforePost(DataSet: TDataSet);
begin
if (dm.serverads.FieldByName('Data Source').Value='') or
(dm.serverads.FieldByName('Data Source').IsNull) or
(dm.serverads.FieldByName('Initial Catalog').Value='') or
(dm.serverads.FieldByName('Initial Catalog').IsNull) or
(dm.serverads.FieldByName('User ID').Value='') or
(dm.serverads.FieldByName('User ID').IsNull) or
(dm.serverads.FieldByName('Password').Value='') or
(dm.serverads.FieldByName('Password').IsNull) then
begin
showmessage('缺少必须信息!请重输入。');
abort;
end;
end;
procedure Tdm.yhadsBeforePost(DataSet: TDataSet);
begin
dm.yhads.FieldByName('密码').Value:=yhqxfrm.Edit1.Text;
if (dm.yhads.FieldByName('用户ID').Value='') or
(dm.yhads.FieldByName('用户Id').IsNull) or
(dm.yhads.FieldByName('用户名称').Value='') or
(dm.yhads.FieldByName('用户名称').IsNull) or
(dm.yhads.FieldByName('密码').Value='') or
(dm.yhads.FieldByName('密码').IsNull) then
begin
MessageDlg('数据不完整,注意密码不能为空,请先录入.', mtError , [mbOK], 0);
abort;
end;
if yhqxfrm.Edit1.Text<>yhqxfrm.Edit2.Text then
begin
MessageDlg('两次输入的密码不一样,请重输入.', mtError, [mbOK], 0);
abort;
end;
adocn.BeginTrans;
if yhads.State in [dsinsert] then
adocn.Execute('insert 菜单权限(用户id,菜单id,权限,菜单分类id) select '+''''+
dm.yhads.fieldbyname('用户id').Value+''''+
',菜单id,0,菜单分类id from 菜单表');
if dm.cdqxads.Modified then
dm.cdqxads.Post;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -