📄 sqappend.pas
字号:
unit sqappend;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Buttons,DBTables;
type
TsqappendForm = class(TForm)
Label1: TLabel;
HeditBtn: TBitBtn;
BitBtn1: TBitBtn;
Label2: TLabel;
sqbidLabel: TLabel;
Label4: TLabel;
Label25: TLabel;
cpbhEdit: TEdit;
cpmcEdit: TEdit;
xhggEdit: TEdit;
Label11: TLabel;
gjjeEdit: TEdit;
Label10: TLabel;
Label14: TLabel;
sbslEdit: TEdit;
Label13: TLabel;
Label16: TLabel;
Label26: TLabel;
jhyCombo: TComboBox;
yyhrwEdit: TEdit;
sccjCombo: TComboBox;
bzEdit: TEdit;
Label15: TLabel;
Label18: TLabel;
Label17: TLabel;
sjyqEdit: TEdit;
jldwCombo: TComboBox;
Label12: TLabel;
Bevel1: TBevel;
procedure HeditBtnClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure sccjComboExit(Sender: TObject);
procedure sccjComboKeyPress(Sender: TObject; var Key: Char);
procedure cpbhEditExit(Sender: TObject);
procedure cpbhEditKeyPress(Sender: TObject; var Key: Char);
procedure sccjComboEnter(Sender: TObject);
procedure cpbhEditEnter(Sender: TObject);
procedure sbslEditExit(Sender: TObject);
procedure gjjeEditExit(Sender: TObject);
procedure gjjeEditKeyPress(Sender: TObject; var Key: Char);
procedure sbslEditKeyPress(Sender: TObject; var Key: Char);
procedure cpbhEditDblClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
sqappendForm: TsqappendForm;
implementation
uses Datamodule, sccgssb, wzsz, sqbinput, cpxxcxsz;
{$R *.DFM}
procedure TsqappendForm.HeditBtnClick(Sender: TObject);
var xqdwstr:string;
sqrqstr:string;
begin
with datamodule1.PublicQuery1 do
begin
close;
sql.Clear;
sql.Add('select * From dbo.a_cgsqxb');
sql.Add('where sqbid='+''''+sqbidlabel.Caption+''''+' and cpbh='+''''+cpbhedit.Text+'''');
prepare;
open;
if recordCount<>0 then
begin
showmessage('您不能在同一张申请表中输入两个产品编号相同的记录,请合并记录!');
close;
exit;
end;
end;
if (cpbhedit.Text='') or (cpmcedit.Text='') or (xhggedit.Text='') or (sbsledit.Text='') or (jldwcombo.Text='') then
begin
showmessage('您输入的记录不完整,请完整填入必需的数据项!');
exit;
end;
with datamodule1.cgsqxbTable do
begin
try
open;
append;
FieldByName('jhy').asstring:=jhyCombo.Text;
FieldByName('sqbid').asstring:=sqbidlabel.caption;
FieldByname('cpbh').asstring:=cpbhedit.Text;
FieldByname('xhgg').asstring:=xhggedit.Text;
FieldByname('jldw').asstring:=jldwCombo.Text;
FieldByname('sbsl').asFloat:=Strtofloat(sbslEdit.Text);
FieldByname('gjje').asFloat:=Strtofloat(gjjeEdit.text);
FieldByname('sccj').asstring:=sccjCombo.text;
FieldByname('yyhrw').asstring:=yyhrwEdit.Text;
FieldByname('sjyq').asstring:=sjyqEdit.text;
FieldByname('bz').asstring:=bzEdit.Text;
FieldByname('cpmc').asstring:=cpmcedit.text;
post;
except
on EDBEngineError do
begin
messageDlg('您输入的数据可能不符合规范,请检查后重新输入!',mtInformation,[mbOK],0);
close;
exit;
end;
end;
end;
with datamodule1 do
begin
PublicQuery1.close;
PublicQuery1.sql.Clear;
PublicQuery1.sql.Add('select * From dbo.a_cgsqzb');
PublicQuery1.sql.Add('where sqbid='+''''+sqbidlabel.Caption+'''');
PublicQuery1.prepare;
PublicQuery1.open;
try
hzglTable.open;
hzglTable.append;
hzglTablesqbid.asstring:=sqbidLabel.Caption;
hzglTablecpbh.AsString:=cpbhEdit.Text;
hzglTableyxnx.AsString:=PublicQuery1.FieldByName('yxnx').asstring;
hzglTablelsh.asstring:= PublicQuery1.FieldByName('lsh').asstring;
hzglTablepzrq.asstring:=PublicQuery1.FieldByName('pzrq').asstring;
hzglTablerwmc.asstring:=PublicQuery1.FieldByName('rwmc').asstring;
xqdwstr:=PublicQuery1.FieldByName('sqdw').asstring;
hzglTablexqdw.asstring:=PublicQuery1.FieldByName('sqdw').asstring;
sqrqstr:=PublicQuery1.FieldByName('sqrq').asstring;
hzglTablesbrq.asstring:=PublicQuery1.FieldByName('sqrq').asstring;
hzglTablebzr.asstring:=PublicQuery1.FieldByName('bzr').asstring;
hzglTableshr.asstring:=PublicQuery1.FieldByName('shr').asstring;
hzglTablebzrq.asstring:=PublicQuery1.FieldByName('bzrq').asstring;
hzglTableshrq.asstring:=PublicQuery1.FieldByName('shrq').asstring;
hzglTablepzr.asstring:=PublicQuery1.FieldByName('pzr').asstring;
hzglTablejhy.asstring:=jhyCombo.Text;
hzglTablexhgg.asstring:=xhggedit.Text;
hzglTablesldw.asstring:=jldwCombo.Text;
hzglTablesbsl.asFloat:=Strtofloat(sbslEdit.Text);
hzglTablegjje.asFloat:=Strtofloat(gjjeEdit.text);
hzglTablesccj.asstring:=sccjCombo.text;
hzglTablesjyq.asstring:=sjyqEdit.text;
hzglTablecpmc.asstring:=cpmcedit.text;
hzglTableysbx1.AsString:=yyhrwEdit.Text;
hzgltablecgslhs.asFloat:=0;
if (strtofloat(sbsledit.text)-strTofloat(jhssForm.readkcsl(cpbhedit.Text)))<=0 then
hzgltablesxsl.asFloat:=0
else
hzgltablesxsl.asFloat:=strtofloat(sbsledit.text)-strTofloat(jhssForm.readkcsl(cpbhedit.Text));
hzglTableBJHGSL.asfloat:=0;
hzglTableYBJSL.asfloat:=0;
hzglTableBJBHGSL.asfloat:=0;
hzglTableCGSLHS.asfloat:=0;
hzglTable.Post;
except
on EDBEngineError do
begin
messageDlg('您输入的数据可能不符合规范,请检查后重新输入!',mtInformation,[mbOK],0);
hzglTable.close;
PublicQuery1.close;
exit;
end;
end;
with ssjhxbTable do
begin
open;
append;
FieldByName('xqdw').asstring:=xqdwstr;
FieldByName('sqbid').asstring:=sqbidLabel.Caption;
FieldByName('tjqr').asstring:='0';
FieldByname('jhy').asstring:=jhyCombo.Text;
FieldByName('cpmc').asstring:=cpmcedit.text;
FieldByName('xhgg').asstring:=xhggedit.Text;
FieldByName('cpbh').asstring:=cpbhedit.Text;
FieldByName('jldw').asstring:=jldwCombo.Text;
FieldByName('sbsl').asFloat:=Strtofloat(sbslEdit.Text);
FieldByName('sbrq').asstring:=sqrqstr; //PublicQuery1.FieldByName('sqrq').asstring;
FieldByName('kcsl').asfloat:=strTofloat(jhssForm.readkcsl(cpbhedit.Text));
FieldByName('sccj').asstring:=sccjCombo.text;
FieldBYName('cgslhs').asFloat:=0;
if (strtofloat(sbsledit.text)-strTofloat(jhssForm.readkcsl(cpbhedit.Text)))<=0 then
FieldByName('xcgsl').asFloat:=0
else
FieldByName('xcgsl').asFloat:=strtofloat(sbsledit.text)-strTofloat(jhssForm.readkcsl(cpbhedit.Text));
ssjhxbTable.Post;
end;
end;
showmessage('您已经成功的填加一条记录到当前申请表中!');
end;
procedure TsqappendForm.FormActivate(Sender: TObject);
begin
with datamodule1.PublicQuery1 do
begin
close;
sql.clear;
sql.add('select gysmc from dbo.e_fczfzb');
open;
first;
sccjCombo.Items.Clear;
while not eof do
begin
sccjCombo.Items.Add(FieldByName('gysmc').asstring);
next;
end;
close;
sql.Clear;
sql.Add('select jhyid From dbo.p_jhyb');
open;
first;
jhyCombo.Items.Clear;
while not eof do
begin
jhyCombo.Items.Add(FieldByName('jhyId').asstring);
next;
end;
close;
end;
end;
procedure TsqappendForm.sccjComboExit(Sender: TObject);
begin
with datamodule1.PublicQuery1 do
begin
close;
sql.clear;
sql.add('select gysmc from dbo.e_fczfzb');
open;
first;
sccjCombo.Items.Clear;
while not eof do
begin
sccjCombo.Items.Add(FieldByName('gysmc').asstring);
next;
end;
close;
end;
HeditBtn.Enabled:=True;
end;
procedure TsqappendForm.sccjComboKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
with datamodule1.PublicQuery1 do
begin
close;
sql.Clear;
sql.Add('select gysmc from dbo.e_fczfzb');
sql.Add('where gysmc like ');
sql.add(''''+sccjCombo.text+'%'+'''');
open;
first;
sccjCombo.Items.Clear;
while not eof do
begin
sccjCombo.Items.Add(FieldByName('gysmc').asstring);
next;
end;
close;
end;
end;
procedure TsqappendForm.cpbhEditExit(Sender: TObject);
begin
{if length(cpbhedit.Text)=11 then
with datamodule1.PublicQuery1 do
begin
close;
sql.Clear;
sql.Add('select * From dbo.e_wzdmb');
sql.Add('where wzidh='+''''+cpbhedit.Text+'''');
prepare;
open;
if recordCount=0 then
begin
wzszForm:=TwzszForm.Create(application);
wzszForm.wzidedit.text:=cpbhedit.text;
wzszForm.panel2.Enabled:=False;
wzszForm.deletebtn.enabled:=false;
wzszForm.ShowModal;
wzszForm.Free;
end;
close;
end;
if cpmcedit.Text='' then
with datamodule1.PublicQuery1 do
begin
close;
sql.Clear;
sql.add('select wzmc,xhgg from dbo.e_wzdmb');
sql.add('where wzidh='+''''+cpbhedit.Text+'''');
prepare;
open;
cpmcedit.Text:=fieldByname('wzmc').asstring;
xhggedit.Text:=fieldByName('xhgg').asstring;
close;
end;}
HeditBtn.Enabled:=True;
end;
procedure TsqappendForm.cpbhEditKeyPress(Sender: TObject; var Key: Char);
begin
if length(cpbhedit.Text)=11 then
if not (key in [#8,#13]) then
begin
key:=#0;
beep;
end;
if key=#13 then
begin
if length(cpbhedit.Text)<>11 then
begin
showmessage('请你输入十一位的产品编号!');
exit;
end;
with datamodule1.PublicQuery1 do
begin
close;
sql.Clear;
sql.add('select wzmc,xhgg from dbo.e_wzdmb');
sql.add('where wzidh='+''''+cpbhedit.Text+'''');
prepare;
open;
if RecordCount=0 then
begin
showmessage('你输入的产品编号不存在!');
cpmcedit.Text:='';
xhggedit.Text:='';
exit;
end;
cpmcedit.Text:=fieldByname('wzmc').asstring;
xhggedit.Text:=fieldByName('xhgg').asstring;
close;
end;
end;
end;
procedure TsqappendForm.sccjComboEnter(Sender: TObject);
begin
HeditBtn.Enabled:=false;
end;
procedure TsqappendForm.cpbhEditEnter(Sender: TObject);
begin
HeditBtn.Enabled:=false;
end;
procedure TsqappendForm.sbslEditExit(Sender: TObject);
begin
sbslEdit.Text:=sqinputForm.CheckFloatData(sbslEdit.Text);
end;
procedure TsqappendForm.gjjeEditExit(Sender: TObject);
begin
gjjeEdit.Text:=sqinputForm.CheckFloatData(gjjeEdit.Text);
end;
procedure TsqappendForm.gjjeEditKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',#8,#13]) then
begin
key:=#0;
beep;
end;
end;
procedure TsqappendForm.sbslEditKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',#8,#13]) then
begin
key:=#0;
beep;
end;
end;
procedure TsqappendForm.cpbhEditDblClick(Sender: TObject);
begin
wzxxcxForm:=TwzxxcxForm.Create(application);
wzxxcxform.cpbhEdit.Text:=cpbhedit.Text;
hide;
if (wzxxcxForm.ShowModal=mrOK) then
begin
cpbhedit.Text:=wzxxcxForm.cpbhstr;
cpmcedit.Text:=wzxxcxForm.cpmcstr;
xhggedit.Text:=wzxxcxForm.xhggstr;
end;
wzxxcxForm.free;
show;
end;
procedure TsqappendForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
with datamodule1 do
begin
hzglTable.close;
ssjhxbTable.close;
cgsqxbTable.close;
PublicQuery1.close;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -