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

📄 wl11_p.~pas

📁 delphi+SQLSERVER做的ERP适合初学者模仿之作简单的添加删除链接数据可以用BDE技术链接数据库
💻 ~PAS
字号:
unit wl11_p;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons, DB, DBTables, Grids,
  DBGrids;

type
  Twl11 = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    DateTimePicker1: TDateTimePicker;
    Panel2: TPanel;
    Panel3: TPanel;
    Edit1: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    ComboBox4: TComboBox;
    ComboBox5: TComboBox;
    Edit2: TEdit;
    Edit3: TEdit;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    ComboBox6: TComboBox;
    ComboBox7: TComboBox;
    ComboBox8: TComboBox;
    Label14: TLabel;
    Edit4: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Query1: TQuery;
    Query2: TQuery;
    Query3: TQuery;
    Query4: TQuery;
    Query5: TQuery;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    procedure BitBtn2Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  wl11: Twl11;

implementation

{$R *.dfm}

// 退出本模块
procedure Twl11.BitBtn2Click(Sender: TObject);
begin
  close;
end;

// 选择原料种类后,装入原料名称
procedure Twl11.ComboBox1Change(Sender: TObject);
begin
// 重新初始化原料名称
  with query1 do
  begin
    close;
    sql.Clear;
    sql.Add('select distinct yl_mc from wl_yl where yl_zl = :cs0');
    params[0].asstring := ComboBox1.text;
    open;
    ComboBox2.Items.Clear;
    First;
    while not EOF do
    begin
      ComboBox2.Items.Add(fields[0].asString);
      next;
    end;
  end;
end;

//// 进入本模块
procedure Twl11.FormActivate(Sender: TObject);
begin
// 初始化入库日期
   DateTimePicker1.Date := date;

// 初始化生产主管、采购员
  with query3 do
  begin
    close;
    sql.Clear;
    sql.Add('select bm_xm from wl_bm where bm_mc = ''生产部''');
    open;
    ComboBox6.Items.Clear;
    ComboBox7.Items.Clear;
    First;
    while not EOF do
    begin
      ComboBox6.Items.Add(fields[0].asString);
      ComboBox7.Items.Add(fields[0].asString);
      next;
    end;
  end;

  // 初始化保管员
  with query4 do
  begin
    close;
    sql.Clear;
    sql.Add('select bm_xm from wl_bm where bm_mc = ''原料库''');
    open;
    ComboBox8.Items.Clear;
    First;
    while not EOF do
    begin
      ComboBox8.Items.Add(fields[0].asString);
      next;
    end;
  end;

  // 禁用输入组件
  ComboBox1.Enabled := False;
  ComboBox2.Enabled := False;
  ComboBox3.Enabled := False;
  ComboBox4.Enabled := False;
  ComboBox5.Enabled := False;
  ComboBox6.Enabled := False;
  ComboBox7.Enabled := False;
  ComboBox8.Enabled := False;
  DateTimePicker1.Enabled := False;
  Edit1.Enabled := False;
  Edit2.Enabled := False;
  Edit3.Enabled := False;
  Edit4.Enabled := False;

end;

//// 选择原料名称后,装入原料规格
procedure Twl11.ComboBox2Change(Sender: TObject);
begin
// 初始化原料规格
  with query2 do
  begin
    close;
    sql.Clear;
    sql.Add('select distinct yl_gg from wl_yl where yl_mc = :cs0');
    params[0].asstring := ComboBox2.text;
    open;
    ComboBox3.Items.Clear;
    First;
    while not EOF do
    begin
      ComboBox3.Items.Add(fields[0].asString);
      next;
    end;
  end;

end;

// 存盘处理
procedure Twl11.BitBtn1Click(Sender: TObject);
begin
// 记原料入库表
  with query5 do begin           /
     close;
     sql.clear;
     sql.Add('insert into wl_ylrk (rkbh,ylzl,ylmc,ylgg,ys,fk,jldw,dj,sl,sczg,cgr,bgy,rkrq) values(:cs0,:cs1,:cs2,:cs3,:cs4,:cs5,:cs6,:cs7,:cs8,:cs9,:cs10,:cs11,:cs12)');
     params[0].asstring := Edit1.text;               // 入库编号
     params[1].asstring := ComboBox1.text;           // 原料种类
     params[2].asstring := ComboBox2.text;           // 原料名称
     params[3].asstring := ComboBox3.text;           // 原料规格
     params[4].asstring := ComboBox4.text;           // 颜色
     params[5].asstring := Edit4.text;               // 幅宽
     params[6].asstring := ComboBox5.text;           // 计量单位
     params[7].asfloat := StrToFloat(Edit2.text);    // 单价
     params[8].asfloat := StrToFloat(Edit3.text);    // 数量
     params[9].asstring := ComboBox6.text;           // 生产主管
     params[10].asstring := ComboBox7.text;          // 采购员
     params[11].asstring := ComboBox8.text;          // 保管员
     params[12].asdatetime := DateTimePicker1.date;  // 保管员
     execsql;         // 执行insert。
 end;

 // 记原料库存表
   with query5 do begin
     close;
     sql.clear;
     sql.Add('select * from wl_ylkc where ylzl=:cs0 and ylmc=:cs1 and ylgg=:cs2 and fk=:cs3 and ys=:cs4 and jldw=:cs5');
     params[0].asstring := ComboBox1.text;           // 原料种类
     params[1].asstring := ComboBox2.text;           // 原料名称
     params[2].asstring := ComboBox3.text;           // 原料规格
     params[3].asinteger := StrToInt(Edit4.text);    // 幅宽
     params[4].asstring := ComboBox4.text;           // 颜色
     params[5].asstring := ComboBox5.text;           // 计量单位
     open;
     if recordcount > 0 then
       begin
       close;
       sql.Clear;
       sql.Add('update wl_ylkc  set sl=sl+:cs0 where ylzl=:cs1 and ylmc=:cs2 and ylgg=:cs3 and fk=:cs4 and ys=:cs5 and jldw=:cs6');
       params[0].asfloat := StrToFloat(Edit3.text);             // 数量
       params[1].asstring := ComboBox1.text;           // 原料种类
       params[2].asstring := ComboBox2.text;           // 原料名称
       params[3].asstring := ComboBox3.text;           // 原料规格
       params[4].asinteger := StrToInt(Edit4.text);    // 幅宽
       params[5].asstring := ComboBox4.text;           // 颜色
       params[6].asstring := ComboBox5.text;           // 计量单位
       execsql;         // 执行insert。
       end
     else
       begin
       close;
       sql.Clear;
       sql.Add('insert into wl_ylkc (ylzl,ylmc,ylgg,fk,ys,jldw,sl) values(:cs0,:cs1,:cs2,:cs3,:cs4,:cs5,:cs6)');
       params[0].asstring := ComboBox1.text;           // 原料种类
       params[1].asstring := ComboBox2.text;           // 原料名称
       params[2].asstring := ComboBox3.text;           // 原料规格
       params[3].asinteger := StrToInt(Edit4.text);    // 幅宽
       params[4].asstring := ComboBox4.text;           // 颜色
       params[5].asstring := ComboBox5.text;           // 计量单位
       params[6].asfloat := StrToFloat(Edit3.text);    // 数量
       execsql;         // 执行insert。
       end;
   end;
   showMessage('该笔入库记录已经完成!');

 // 禁用输入组件
  ComboBox1.Enabled := False;
  ComboBox2.Enabled := False;
  ComboBox3.Enabled := False;
  ComboBox4.Enabled := False;
  ComboBox5.Enabled := False;
  ComboBox6.Enabled := False;
  ComboBox7.Enabled := False;
  ComboBox8.Enabled := False;
  DateTimePicker1.Enabled := False;
  Edit1.Enabled := False;
  Edit2.Enabled := False;
  Edit3.Enabled := False;
  Edit4.Enabled := False;
// 设置按钮属性
  BitBtn1.Enabled := False;;
  BitBtn3.Enabled := True

end;

//// 开始记账
procedure Twl11.BitBtn3Click(Sender: TObject);
var i:string;j:string;
begin
// 启用输入组件
  ComboBox1.Enabled := True;
  ComboBox2.Enabled := True;
  ComboBox3.Enabled := True;
  ComboBox4.Enabled := True;
  ComboBox5.Enabled := True;
  ComboBox6.Enabled := True;
  ComboBox7.Enabled := True;
  ComboBox8.Enabled := True;
  DateTimePicker1.Enabled := True;
  Edit1.Enabled := True;
  Edit2.Enabled := True;
  Edit3.Enabled := True;
  Edit4.Enabled := True;
// 设置按钮属性
  BitBtn1.Enabled := True;
  BitBtn3.Enabled := False;

// 初始化单据流水号NO (比较本次入库日期与上次入库日期的年号)
  with query5 do
  begin
    close;
    sql.Clear;
    sql.Add('select * from wl_ylrk');
    open;
    last;
    i := DateToStr(DateTimePicker1.Date);
    j := fields[0].asString;
    if copy(i,1,4) > copy(j,1,4) then
    begin
       if MessageDlg('上笔NO为'+j+',需要启用'+copy(i,1,4)+'新的年号吗?',
          mtConfirmation, [mbYes, mbNo], 0) = mrYes then
          begin
          Edit1.Text := copy(i,1,4)+'000001';
          exit;
          end;
    end;
    Edit1.Text := inttostr( strtoint( j )+1 );
  end;

end;

//// 选择放弃
procedure Twl11.BitBtn4Click(Sender: TObject);
begin
// 禁用输入组件
  ComboBox1.Enabled := False;
  ComboBox2.Enabled := False;
  ComboBox3.Enabled := False;
  ComboBox4.Enabled := False;
  ComboBox5.Enabled := False;
  ComboBox6.Enabled := False;
  ComboBox7.Enabled := False;
  ComboBox8.Enabled := False;
  DateTimePicker1.Enabled := False;
  Edit1.Enabled := False;
  Edit2.Enabled := False;
  Edit3.Enabled := False;
  Edit4.Enabled := False;
// 设置按钮属性
  BitBtn1.Enabled := False;;
  BitBtn3.Enabled := True

end;

end.

⌨️ 快捷键说明

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