📄 selldailyfrm.~pas
字号:
procedure TSellDailyForm.AEditExecute(Sender: TObject);
begin
FormMode := fmEdit;
end;
procedure TSellDailyForm.AAcceptExecute(Sender: TObject);
begin
FormMode := fmAccept;
{ try
dm.ADOConnection.BeginTrans ;
Rb1.UpdateBatch;
ADOQuery2.updateBatch;
DM.ADOConnection.CommitTrans ;
Application.MessageBox('保存成功','信息',64);
except
DM.ADOConnection.RollbackTrans ;
Application.MessageBox('保存失败','信息',64);
end; }
end;
procedure TSellDailyForm.ACancelExecute(Sender: TObject);
begin
FormMode := fmCancel;
end;
procedure TSellDailyForm.AExitExecute(Sender: TObject);
begin
Adoquery2.Close;
close;
end;
procedure TSellDailyForm.SetCurrentDailyCode(const Value: String);
begin
FCurrentDailyCode := Value;
with ADOQuery2 do
begin
Close;
SQL.Clear;
SQL.Add(' SELECT DailyCode AS 日报编号, ');
SQL.Add(' ProductCode AS 产品编码, ');
SQL.Add(' Total AS 数量, ');
SQL.Add(' Amount AS 金额 ');
SQL.Add(' FROM xs_DailyDetail ');
SQL.Add(' WHERE DailyCode = '+CurrentDailyCode );
// sql.SaveToFile ('c:\11.txt');
// Parameters[0].Value := CurrentDailyCode;
Open;
end;
end;
procedure TSellDailyForm.ADOQuery2PostError(DataSet: TDataSet;
E: EDatabaseError; var Action: TDataAction);
begin
Action := daAbort;
end;
function TSellDailyForm.ValidityCheck: Boolean;
var
i: integer;
ProductCodes: TStringList;
tprouctCode: string;
j: integer;
begin
ADOQuery2.Append;
ProductCodes := TStringList.Create;
try
if Rb1.FieldByName('日报编号').asstring='' then
begin
Application.MessageBox('请输入日报编号','错误',48);
DBEdit1.SetFocus;
result := false;
exit;
end;
if Rb1.FieldByName('分销店名称').asstring='' then
begin
Application.MessageBox('请选择分销店','错误',48);
DBLookupComboBox2.SetFocus;
result := false;
exit;
end;
if ADOQuery2.RecordCount<=0 then
begin
Application.MessageBox('从表记录不能为空!','错误',48);
result:=false;
system.exit;
end;
if ADOQuery2.RecordCount>0 then
begin
ProductCodes.Clear;
ADOQuery2.First;
for i:=0 to ADOQuery2.RecordCount-1 do
begin
ProductCodes.Add(ADOQuery2.FieldByName('产品编码').asstring);
ADOquery2.Next;
end;
if ProductCodes.Find('',j) then
begin
Application.MessageBox('产品编码不能为空','错误',48);
result := false;
system.Exit;
end;
for i:=0 to ProductCodes.Count-2 do
begin
tprouctCode := ProductCodes.Strings[i];
for j:=i+1 to ProductCodes.Count-1 do
if tprouctCode = ProductCodes.Strings[j] then
begin
Application.MessageBox(pchar('产品编码'+tprouctCode+'被重复录入'),'错误',48);
result := false;
system.Exit;
end;//if
end;
end;
if ADOQuery2.RecordCount>0 then
begin
ADOQuery2.First;
while not ADOQuery2.Eof do
begin
ADOQuery2.Edit;
ADOQuery2.FieldByName('日报编号').asstring := Rb1.fieldbyname('日报编号').asstring;
ADOQuery2.Next;
end;
end;
result := true;
finally
ProductCodes.Free;
end;
end;
procedure TSellDailyForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose := true;
if FormMode<>fmBrowse then
if Application.MessageBox('确定要退出吗?','信息',33)=2 then
CanClose := false;
end;
procedure TSellDailyForm.AAddRowExecute(Sender: TObject);
begin
ADOQuery2.Append;
end;
procedure TSellDailyForm.ADeleteRowExecute(Sender: TObject);
begin
ADOQuery2.Delete;
end;
procedure TSellDailyForm.previewExecute(Sender: TObject);
begin
inherited;
CreateReport(Application.Handle,DM.ADOConnection.ConnectionString,'305',
nil,TAdoQuery(DataSource2.DataSet),false) ;
end;
procedure TSellDailyForm.APrintExecute(Sender: TObject);
begin
inherited;
CreateReport(Application.Handle,DM.ADOConnection.ConnectionString,'305',
nil,TAdoQuery(DataSource2.DataSet),true) ;
end;
procedure TSellDailyForm.BtnFindClick(Sender: TObject);
begin
FrmRbFind:= TFrmRBFind.Create(Application);
FrmRBFind.ShowModal;
if FrmRbFind.ModalResult=2 then
begin
if Rb1.Active =false then
Rb1.Open;
if not (Rb1.Locate('日报编号',FrmRbFind.srecord,[loCaseInsensitive])) then
begin
Application.MessageBox(pchar('日报编号为:'+FrmRbFind.srecord+'的记录不存在!'),'错误',16);
//Rb1.Close;
//ADOQuery2.Close;
end;
end;
frmrbfind.Free;
end;
procedure TSellDailyForm.BitBtn10Click(Sender: TObject);
begin
inherited;
CreateReport(Application.Handle,DM.ADOConnection.ConnectionString,'305',
nil,TAdoQuery(DataSource2.DataSet),false) ;
end;
procedure TSellDailyForm.DateTimePicker1Click(Sender: TObject);
begin
showmessage('ok');
end;
procedure TSellDailyForm.FormShow(Sender: TObject);
begin
InitDataSet;
end;
procedure TSellDailyForm.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
// CurrentDailyCode:= DM.Rb1.fieldByName('日报编号').asstring;
end;
procedure TSellDailyForm.BitBtn6Click(Sender: TObject);
var
Deletequery:TADOQuery;
begin
Deletequery:=TADOQuery.Create(NIl);
deletequery.Connection :=DM.ADOConnection ;
if (Application.MessageBox('真正删除记录吗?','提示',36)=IDYes) then
begin
deletequery.Close ;
deletequery.SQL.Clear ;
deletequery.SQL.Add ('delete from xs_DailyDetail where DailyCode=''''+Trim(DBEdit1.Text)+''');
deletequery.ExecSQL ;
deletequery.Close ();
deletequery.SQL.Clear ;
deletequery.SQL.Add ('delete from xs_DailyMaster where DailyCode=''''+Trim(DBEdit1.Text)+''');
deletequery.ExecSQL ;
end;
end;
procedure TSellDailyForm.ADOQuery2BeforePost(DataSet: TDataSet);
begin
ADOQuery2.FieldByName('日报编号').AsString:=DbEdit1.Text;
end;
procedure TSellDailyForm.DBEdit1Change(Sender: TObject);
begin
with ADOQuery2 do
begin
Close;
SQL.Clear;
SQL.Add(' SELECT DailyCode AS 日报编号, ');
SQL.Add(' ProductCode AS 产品编码, ');
SQL.Add(' Total AS 数量, ');
SQL.Add(' Amount AS 金额 ');
SQL.Add(' FROM xs_DailyDetail ');
SQL.Add(' WHERE DailyCode ='+'''' +DBEdit1.Text+'''');
Open;
end;
//CurrentDailyCode:=DbEdit1.text;
try
DateTimePicker1.Date:=Rb1.FieldByName('上报时间').Value;
except
DateTimePicker1.Date:=Date;
end;
end;
procedure TSellDailyForm.ADeleteExecute(Sender: TObject);
var
Deletequery:TADOQuery;
begin
Deletequery:=TADOQuery.Create(NIl);
deletequery.Connection :=DM.ADOConnection ;
if (Application.MessageBox('真正删除记录吗?','提示',36)=IDYes) then
begin
try
DM.ADOConnection.BeginTrans ;
deletequery.Close ;
deletequery.SQL.Clear ;
deletequery.SQL.Add ('delete from xs_DailyDetail where DailyCode='+''''+DBEdit1.Text+'''');
deletequery.ExecSQL ;
deletequery.Close ();
deletequery.SQL.Clear ;
deletequery.SQL.Add ('delete from xs_DailyMaster where DailyCode='+''''+DBEdit1.Text+'''');
deletequery.ExecSQL ;
DM.ADOConnection.CommitTrans ;
rb1.Close;
rb1.Open;
Application.MessageBox('删除成功!','提示',0);
deletequery.Free;
except
DM.ADOConnection.RollbackTrans ;
Application.MessageBox('删除失败!','错误',16);
end;
end;
end;
procedure TSellDailyForm.BitBtn11Click(Sender: TObject);
begin
// SetItem(ADOQuery1);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -