⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqappend.pas

📁 一个仓库管理中的子系统--采购子系统
💻 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 + -