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

📄 unit14.pas

📁 专卖店进销存系统 delphi7开发 access数据库
💻 PAS
字号:
unit Unit14;

interface

uses
  Windows, Messages, Classes, SysUtils, Graphics, Controls, StdCtrls, Forms,
  Dialogs, DBCtrls, DB, Mask, ExtCtrls, Buttons;

type
  TF_rkmx = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    EditDBEdit: TDBEdit;
    EditDBEdit2: TDBEdit;
    EditDBEdit3: TDBEdit;
    EditDBEdit4: TDBEdit;
    EditDBEdit6: TDBEdit;
    EditDBEdit7: TDBEdit;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    Panel2: TPanel;
    Panel3: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Button1: TButton;
    procedure EditDBEdit2Exit(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn1Click(Sender: TObject);
    procedure EditDBEdit4Enter(Sender: TObject);
    procedure EditDBEdit4Exit(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure EditDBEdit6Exit(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  F_rkmx: TF_rkmx;

implementation
uses unit1, Unit16, Unit15, Unit5;
{$R *.DFM}

procedure TF_rkmx.EditDBEdit2Exit(Sender: TObject);
begin
with mainform.Q_kc_rk do
  begin
    close;
    sql.Clear;
    sql.Add('select * from 库存');
    sql.Add('where 商品编号='+''''+(F_rkmx.EditDBEdit2.Text)+'''');
    open;
  end;
if (mainform.Q_kc_rk.eof=true) and (trim(F_rkmx.EditDBEdit2.Text)<>'') then
  begin
    if application.MessageBox('该编号商品尚未建立基本信息,是否建立?','系统信息',MB_YESNO+MB_Iconquestion)=IDyes then
      begin
        mainform.q_kc.append;
        mainform.q_kc.FieldByName('商品编号').asstring:=F_rkmx.EditDBEdit2.Text;
        F_kc_add.showmodal;
        F_rkmx.EditDBEdit2.SetFocus;
      end else close;
  end;
end;

procedure TF_rkmx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
mainform.Q_rkmx.cancel;
end;

procedure TF_rkmx.BitBtn1Click(Sender: TObject);
var
  K_am,kc_amo_in,kc_amo_out:double;
  rkd_no:string;
begin
if (EditDBEdit2.Text='') or (EditDBEdit4.Text='') or (EditDBEdit6.Text='') then
 application.MessageBox('信息录入不全,请重新输入!','系统信息',MB_OK+MB_Iconstop)
 else begin
 mainform.Q_rkmx.FieldByName('入库明细.商品名称').asstring:=F_rkmx.EditDBEdit3.text;
 mainform.Q_rkmx.Post;
 mainform.Q_kc_rk.Edit;
 if mainform.Q_kc_rk.FieldByName('成本价格').AsString='' then
    begin
     mainform.Q_kc_rk.FieldByName('成本价格').AsFloat:=mainform.Q_rkmx.FieldByName('进货价格').asfloat;
     mainform.Q_kc_rk.Post;
    end else
  begin
    with mainform.Q_temp do
     begin
      close;
      sql.Clear;
      sql.Add('select SUM(IIF(ISNULL(数量),0,数量)) as 入库总数 from 入库明细 where 商品编号='+''''+F_rkmx.EditDBEdit2.Text+'''');
      open;
     end;
     kc_amo_in:=mainform.Q_temp.fieldbyname('入库总数').asfloat;
     with mainform.Q_temp do
      begin
       close;
       sql.Clear;
       sql.Add('select SUM(IIF(ISNULL(出库明细.出库数量),0,出库明细.出库数量)) as 出库总数 from 出库明细 where 商品编号='+''''+F_rkmx.EditDBEdit2.Text+'''');
       open;
      end;
      kc_amo_out:=mainform.Q_temp.fieldbyname('出库总数').asfloat;
      K_am:=kc_amo_in-kc_amo_out;
      mainform.Q_kc_rk.FieldByName('成本价格').asfloat:=(((K_am-mainform.Q_rkmx.FieldByName('数量').asfloat)*mainform.Q_kc_rk.FieldByName('成本价格').asfloat)+(mainform.Q_rkmx.FieldByName('合计金额').asfloat))/(K_am);
      mainform.Q_kc_rk.Post;
    end;
  rkd_no:=F_rkmx.EditDBEdit.text;
  mainform.A_rkd.Close;
  mainform.A_rkd.Open;
  mainform.A_rkd.locate('入库单号',rkd_no,[loCaseInsensitive]);
  close;
  end;
end;

procedure TF_rkmx.EditDBEdit4Enter(Sender: TObject);
begin
if trim(F_rkmx.EditDBEdit2.Text)='' then
  begin
    application.MessageBox('商品编号不能为空,请重新输入','系统信息',MB_OK+MB_Iconstop);
    F_rkmx.EditDBEdit2.SetFocus;
  end else F_rkmx.EditDBEdit4.Text:='1';
end;

procedure TF_rkmx.EditDBEdit4Exit(Sender: TObject);
begin
if (trim(F_rkmx.EditDBEdit4.Text)<>'') and (trim(F_rkmx.EditDBEdit6.Text)<>'') then
  begin
    mainform.Q_rkmx.FieldByName('合计金额').asstring:=floattostr(strtofloat(F_rkmx.EditDBEdit4.Text)*strtofloat(F_rkmx.EditDBEdit6.Text));
  end;
end;

procedure TF_rkmx.FormShow(Sender: TObject);
begin
with mainform.Q_kc_rk do
  begin
    close;
    sql.Clear;
    sql.Add('select * from 库存');
    sql.Add('where id<1');
    open;
  end;
F_rkmx.EditDBEdit2.setfocus;
end;

procedure TF_rkmx.EditDBEdit6Exit(Sender: TObject);
begin
if (trim(F_rkmx.EditDBEdit4.Text)<>'') and (trim(F_rkmx.EditDBEdit6.Text)<>'') then
  begin
    mainform.Q_rkmx.FieldByName('合计金额').asstring:=floattostr(strtofloat(F_rkmx.EditDBEdit4.Text)*strtofloat(F_rkmx.EditDBEdit6.Text));
  end;
end;

procedure TF_rkmx.Button1Click(Sender: TObject);
begin
custom_window:='c_rkd';
F_kc.BitBtn1.Visible:=true;
F_kc.showmodal;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -