📄 dd.pas
字号:
begin
//恢复所有标题字体为默认
DBGrid1.Columns[i-1].Title.Font.Color := clBlue;
DBGrid1.Columns[i-1].Title.Font.Style := [];
end;
if DataModule1.ClientDataSet17.IndexFieldNames<>(Column.FieldName) then //判断原排序方式
begin
DataModule1.ClientDataSet17.IndexFieldNames:= Column.FieldName;
Column.Title.Font.Color := clRed; //改变标题行字体为红色,表示当前的排序方式为升序
Column.Title.Font.Style := [fsBold];
end;
end;
procedure TFrmdd.DBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then ClientDataSet1.Append;
end;
function TFrmdd.savekc:boolean;
var
relation,cx:string;
i,i1:integer;
begin
relation:=' = ''';
cx:='';
TRY
tddh.Text:=trim(tddh.Text);
tcpmc.Text:=trim(tcpmc.text);
errcode:=true;
errzt:=1;
commandstring:='select * from dbo.ddmxb where (dbo.ddmxb.ddh '+relation+cx+trim(tddh.Text)+cx+''')'+' order by xh';
DataModule1.ClientDataSet18.Close;
DataModule1.ClientDataSet18.CommandText:=commandstring;
DataModule1.ClientDataSet18.Open;
i1:=clientdataset1.RecordCount;
if i1<1 then
begin
errcode:=false;
errzt:=0;
exit;
end;
clientdataset1.DisableControls;
clientdataset1.First;
for i:=1 to i1 do
begin
if not DataModule1.ClientDataSet18.Locate('xh',clientdataset1.fieldbyname('xh').AsString,[]) then
begin
savekcb;
if errcode or (errzt<>0) then savekcb;
if errcode or (errzt<>0) then savekcb;
if errcode or (errzt<>0) then savekcb;
end;
clientdataset1.Next;
end;
errcode:=false;
errzt:=0;
clientdataset1.EnableControls;
except
errcode:=true;
errzt:=1;
clientdataset1.EnableControls;
help.Caption:='数据库没有打开!';
end;
end;
function tFrmdd.savekcb:boolean;
begin
try
errcode:=true;
errzt:=1;
DataModule1.clientdataset18.Edit;
DataModule1.ClientDataSet18.First;
DataModule1.clientdataset18.Insert;
DataModule1.clientdataset18.FieldByName('ddh').AsString:=tddh.Text;
DataModule1.clientdataset18.FieldByName('xh').AsString:=clientdataset1.fieldbyname('xh').AsString;
DataModule1.clientdataset18.FieldByName('ms').AsString:=clientdataset1.fieldbyname('ms').AsString;
DataModule1.clientdataset18.FieldByName('ts').AsString:=clientdataset1.fieldbyname('ts').AsString;
DataModule1.clientdataset18.FieldByName('ys').AsString:=clientdataset1.fieldbyname('ys').AsString;
DataModule1.clientdataset18.ApplyUpdates(-1);
errcode:=false;
errzt:=0;
except
errcode:=true;
errzt:=1;
help.caption:='数据库没有打开!';
end;
end;
function TFrmdd.dbexit:boolean;
var
i,i1,i2,i3:integer;
begin
if not clientdataset1.Active then exit;
try
i1:=clientdataset1.RecordCount;
clientdataset1.DisableControls;
clientdataset1.first;
for i:=1 to i1 do
begin
IF (clientdataset1.FieldByName('xh').AsString='') or (clientdataset1.FieldByName('ms').AsString='') or (clientdataset1.FieldByName('ts').AsString='') or (clientdataset1.FieldByName('ys').AsString='') THEN
begin
clientdataset1.Edit;
clientdataset1.Delete;
end
else
clientdataset1.Next;
end;
ts:='0';
i3:=clientdataset1.RecordCount;
clientdataset1.first;
for i2:=1 to i3 do
begin
ts:=formatfloat('0.00',strtofloat(ts) + clientdataset1.FieldByName('ts').AsFloat);
if i2<>i3 then clientdataset1.Next;
end;
//ts:=formatfloat('0.00',strtofloat(ts)-1);
clientdataset1.EnableControls;
except
clientdataset1.EnableControls;
showmessage('请您输入正确的数字!')
end;
end;
procedure TFrmdd.tslChange(Sender: TObject);
begin
if trim(tje.Text)='' then tje.Text:='0';
if trim(tdj.Text)='' then tdj.Text:='0';
if (trim(tsl.Text)<>'') and (trim(tdj.Text)<>'') then
begin
tje.Text:=formatfloat('0.00',strtofloat(tsl.Text)*strtofloat(tdj.Text));
end;
end;
procedure TFrmdd.bsaveClick(Sender: TObject);
var
datestr:string;
begin
if not bsave.Enabled then exit;
bsave.Enabled:=false;
bcancel.Enabled:=false;
errcode:=true;
errzt:=1;
datestr:=frmxtfz.checkfzrq(formatdatetime('yyyy-mm-dd',jdrq.date));
if datestr<>'' then
begin
help.Caption:=' 封账日期为'+datestr+'您不能添加封账日期前的数据';
exit;
end;
if not check then
begin
bsave.Enabled:=true;
bcancel.Enabled:=true;
exit;
end;
form1.kh:=trim(tkhmc.Text);
frmwjgdw.checkkh(form1.kh);
if form1.kh='' then
begin
bsave.Enabled:=true;
bcancel.Enabled:=true;
tkhmc.SetFocus;
help.Caption:=' 该客户不存在,请您输入正确的客户!';
exit;
end;
form1.kh:='';
form1.cpmc:=trim(tcpmc.Text);
form1.cpfl:=trim(tcpfl.Text);
form1.cpdw:=trim(tcpdw.Text);
frmcpml.checkcp(form1.cpmc,form1.cpfl,form1.cpdw);
if form1.cpmc='' then
begin
bsave.Enabled:=true;
bcancel.Enabled:=true;
tcpmc.SetFocus;
help.Caption:=' 该产品不存在,请您输入正确的产品!';
exit;
end;
form1.cpmc:='';
form1.cpfl:='';
form1.cpdw:='';
try
form1.dorandombh;
DataModule1.clientdataset11.Refresh;
DataModule1.ClientDataSet11.First;
tddh.Text:=floattostr(DataModule1.clientdataset11.FieldByName('ddh').AsFloat)+form1.randombh+form1.tbh.Text;
DataModule1.ClientDataSet11.Edit;
DataModule1.ClientDataSet11.FieldByName('ddh').AsFloat:= DataModule1.ClientDataSet11.FieldByName('ddh').AsFloat+1;
DataModule1.ClientDataSet11.ApplyUpdates(-1);
save;
if errcode or (errzt<>0) then save;
if errcode or (errzt<>0) then save;
if errcode or (errzt<>0) then save;
if errcode or (errzt<>0) then
begin
showmessage(' 数据库在保存主记录时失败,请您稍后重新保存!');
errdelete;
bsave.Enabled:=true;
bcancel.Enabled:=true;
exit;
end;
savekc;
if errcode or (errzt<>0) then savekc;
if errcode or (errzt<>0) then savekc;
if errcode or (errzt<>0) then savekc;
if errcode or (errzt<>0) then
begin
showmessage(' 数据库在保存明细记录时失败,请您稍后重新保存!');
errdelete;
bsave.Enabled:=true;
bcancel.Enabled:=true;
exit;
end;
help.Caption:=' 记录订单操作成功!' ;
clientdataset1.DisableControls;
clientDataSet1.Close;
clientDataSet1.SQL.Clear;
clientDataSet1.SQL.Add('delete from ddmxb');
clientDataSet1.ExecSQL;
clientDataSet1.Close;
clientDataSet1.SQL.Clear;
clientDataSet1.SQL.Add('select * from ddmxb order by xh');
clientDataSet1.Open;
clientdataset1.EnableControls;
tkhmc.Text:='';
tcpmc.Text:='';
tcpfl.Text:='';
tcpdw.Text:='';
tsl.Text:='0';
tdj.Text:='0';
tje.Text:='0';
bnew.Enabled:=true;
bprint.Enabled:=true;
bnew.SetFocus;
pz.Enabled:=false;
except
clientdataset1.EnableControls;
bsave.Enabled:=true;
bcancel.Enabled:=true;
showmessage(' 记录订单时出现了系统无法识别的错误,请您主动辨别该错误!');
end;
end;
procedure TFrmdd.DBGrid2Exit(Sender: TObject);
begin
dbexit;
if ts<>'0' then tsl.Text:=ts;
end;
function tFrmdd.errdelete:boolean;
VAR
relation,cx:string;
begin
relation:=' = ''';
cx:='';
try
commandstring:='delete from dbo.ddb';
commandstring:=commandstring+' where (dbo.ddb.ddhh'+relation+cx+tddh.Text+cx+''')';
DataModule1.ClientDataSet17.CommandText:=commandstring;
DataModule1.ClientDataSet17.Execute;
commandstring:='delete from dbo.ddmxb';
commandstring:=commandstring+' where (dbo.ddmxb.ddh'+relation+cx+tddh.Text+cx+''')';
DataModule1.ClientDataSet18.CommandText:=commandstring;
DataModule1.ClientDataSet18.Execute;
khchange;
except
showmessage('数据库没有打开')
end;
end;
procedure TFrmdd.FormActivate(Sender: TObject);
var
commandstring,relation,cx,str:string;
begin
rzjsj:=datetimetostr(now);
rzczy:=form1.StatusBar1.Panels[4].Text;
rzsj:='订单录入';
jdrq.DateTime:=date;
jhrq.DateTime:=date+30;
help.Caption:='';
bnew.Enabled:=true;
bsave.Enabled:=false;
bcancel.Enabled:=false;
bprint.Enabled:=false;
pz.Enabled:=false;
tkhmc.Text:='';
tcpmc.Text:='';
tcpfl.Text:='';
tcpdw.Text:='';
ts:='0';
clientDataSet1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFileDir(Application.ExeName)+'\fzcbhsglxt.mdb;Persist Security Info=False';
try
clientDataSet1.Active:=true;
clientDataSet1.Close;
clientDataSet1.SQL.Clear;
clientDataSet1.SQL.Add('delete from ddmxb');
clientDataSet1.ExecSQL;
clientDataSet1.Close;
clientDataSet1.SQL.Clear;
clientDataSet1.SQL.Add('select * from ddmxb order by xh');
clientDataSet1.Open;
relation:=' = ''';
str:='jg';
cx:='';
commandstring:='select * from fylbb where (fylbb.lb';
commandstring:=commandstring+relation+cx+str+cx+''')'+' order by xh';
DataModule1.ClientDataSet16.Close;
DataModule1.ClientDataSet16.CommandText:=commandstring;
DataModule1.ClientDataSet16.Open;
except
showmessage('数据库没有打开!')
end;
bnew.SetFocus;
tsl.Text:='0';
tdj.Text:='0';
tje.Text:='0';
help.Caption:=' 请您点击<新增>按钮开始记录数据!';
pz.Enabled:=false;
end;
procedure TFrmdd.FormClose(Sender: TObject; var Action: TCloseAction);
begin
try
DataModule1.ClientDataSet17.IndexFieldNames:='';
clientdataset1.DisableControls;
clientDataSet1.Close;
clientDataSet1.SQL.Clear;
clientDataSet1.SQL.Add('delete from ddmxb');
clientDataSet1.ExecSQL;
clientDataSet1.Close;
clientDataSet1.SQL.Clear;
clientDataSet1.SQL.Add('select * from ddmxb order by xh');
clientDataSet1.Open;
clientdataset1.EnableControls;
if clientdataset1.Active then ClientDataSet1.Active:=false;
if DataModule1.clientdataset17.Active then DataModule1.ClientDataSet17.Active:=false;
if DataModule1.clientdataset18.Active then DataModule1.ClientDataSet18.Active:=false;
if DataModule1.clientdataset13.Active then DataModule1.ClientDataSet13.Active:=false;
if DataModule1.clientdataset16.Active then DataModule1.ClientDataSet16.Active:=false;
if DataModule1.clientdataset7.Active then DataModule1.ClientDataSet7.Active:=false;
if rzcsj<>'' then exit;
rzcsj:=datetimetostr(now);
form16.WriteTorz(rzczy,rzsj,rzjsj,rzcsj);
except
clientdataset1.EnableControls;
showmessage('数据库没有打开!');
end;
close;
end;
procedure TFrmdd.ClientDataSet1NewRecord(DataSet: TDataSet);
var
i,i1:integer;
begin
try
clientdataset1.FieldByName('xh').AsInteger:=clientdataset1.RecordCount+1;
i1:=clientdataset1.RecordCount;
ts:='0';
clientdataset1.DisableControls;
clientdataset1.first;
for i:=1 to i1 do
begin
if clientdataset1.FieldByName('ts').AsString<>'' then ts:=formatfloat('0.00',strtofloat(ts) + clientdataset1.FieldByName('ts').AsFloat);
if i<>i1 then clientdataset1.Next;
end;
//ts:=formatfloat('0.00',strtofloat(ts)-1);
clientdataset1.EnableControls;
except
clientdataset1.EnableControls;
showmessage('请您输入正确的数字')
end;
end;
procedure TFrmdd.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if DataModule1.ClientDataSet17.FieldByName('shbj').AsInteger=1 then
begin
dbgrid1.Canvas.Font.Color:=clred;
dbgrid1.Canvas.Brush.Color:=clyellow;
end
else
begin
dbgrid1.Canvas.Font.Color:=clblue;
dbgrid1.Canvas.Brush.Color:=clwhite;
end;
dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state);
if ((State = [gdSelected]) or (State = [gdSelected, gdFocused])) then
begin
DBGrid1.Canvas.Brush.Color:=clred;
DBGrid1.Canvas.Font.Color:=clWhite;
DBGrid1.DefaultDrawColumnCell(Rect, datacol,column, State);
end;
end;
procedure TFrmdd.jglxKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tkhmc.SetFocus;
end;
procedure TFrmdd.tcpflKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tcpdw.SetFocus;
end;
procedure TFrmdd.DBGrid3DblClick(Sender: TObject);
begin
if not DataModule1.ClientDataSet7.Active then exit;
if DataModule1.ClientDataSet7.RecordCount>0 then
begin
tkhmc.Text:=DataModule1.ClientDataSet7.FieldByName('wjgdw').AsString;
tcpmc.SetFocus;
end;
end;
procedure TFrmdd.jhrqKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tsl.SetFocus;
end;
procedure TFrmdd.tjeKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#8,#13,'.','-']) then
begin
key:=#0;
help.caption:=' 请输入数字!';
end;
if key=#13 then tbz.SetFocus;
end;
procedure TFrmdd.tddhExit(Sender: TObject);
var
relation,cx:string;
begin
relation:=' = ''';
cx:='';
commandstring:='select * from dbo.ddb';
if trim(tddh.Text)<>'' then
begin
commandstring:=commandstring+' where (ddh'+relation+cx+trim(tddh.Text)+cx+''')'+' order by ddh desc';;
DataModule1.ClientDataSet17.Close;
DataModule1.ClientDataSet17.CommandText:=commandstring;
DataModule1.ClientDataSet17.Open;
if DataModule1.ClientDataSet17.RecordCount>0 then help.Caption:=' 该订单号已经存在,您不用再次录入了';
end;
end;
procedure TFrmdd.tkhmcKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tcpmc.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -