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

📄 unit12.pas

📁 服装制造业的库存管理系统,服装进销存进货,库存,出货等等.
💻 PAS
字号:
unit Unit12;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, Grids, DBGridEh, Buttons, ComCtrls, ToolWin;

type
  TForm12 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    DateTimePicker1: TDateTimePicker;
    GroupBox1: TGroupBox;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Edit2: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    ComboBox1: TComboBox;
    ToolBar1: TToolBar;
    ToolButton2: TToolButton;
    SpeedButton15: TSpeedButton;
    ToolButton6: TToolButton;
    SpeedButton1: TSpeedButton;
    ToolButton8: TToolButton;
    SpeedButton5: TSpeedButton;
    ToolButton7: TToolButton;
    SpeedButton11: TSpeedButton;
    DBGridEh1: TDBGridEh;
    DataSource1: TDataSource;
    Button1: TButton;
    Label9: TLabel;
    Edit3: TEdit;
    Edit7: TEdit;
    procedure SpeedButton11Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton15Click(Sender: TObject);
  private
    procedure ZdID(aSql: string);
    function QueryTabel(aSql: string): Boolean;  
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form12: TForm12;

implementation

uses Data, Unit1;

{$R *.dfm}

procedure TForm12.SpeedButton11Click(Sender: TObject);
begin
  close;
end;

procedure TForm12.SpeedButton5Click(Sender: TObject);
begin
  if MessageBox(Handle, '你是否要删除?', '操作提示', MB_YESNO +
    MB_ICONWARNING + MB_DEFBUTTON3 + MB_TOPMOST)=IDYES then
  begin
    if DataSource1.DataSet.RecordCount>0 then
      DataSource1.DataSet.Delete;
  end;
end;

procedure TForm12.Button1Click(Sender: TObject);
begin
  ZdID('');//自动生成编号
end;

function TForm12.QueryTabel(aSql: string): Boolean;
begin
  with MyData do
  begin
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add(aSql);
    ADOQuery1.Open;
  end;
end;

procedure TForm12.ZdID(aSql: string);
var
  Sum:string;
begin
  with MyData do
  begin
    aSql:='Select * from 产品出库单资料';
    ADOSelect.SQL.Clear;
    ADOSelect.SQL.Add(aSql);
    ADOSelect.Open;
    if ADOSelect.RecordCount>0 then
    begin
      aSql:='Select max(id) from 产品出库单资料';
      ADOSelect.SQL.Clear;
      ADOSelect.SQL.Add(aSql);
      ADOSelect.Open;
      Sum:='OC'+IntToStr(StrToInt(ADOSelect.Fields.Fields[0].Value)+10000);
    end
    else
      Sum:='OC10000';
    edit1.Text:=Sum;
  end;
end;
procedure TForm12.FormShow(Sender: TObject);
begin
  if (Form1.Qx='浏览者')  then
  begin
    SpeedButton15.Enabled:=False;
    SpeedButton5.Enabled:=False;
  end;
  QueryTabel('Select * From 产品出库单资料');
  with MyData do
  begin
    ADOSelect.SQL.Clear;
    ADOSelect.SQL.Add('Select 产品编号 from 产品入库单资料');
    ADOSelect.Open;
    ComboBox1.Clear;
    while not ADOSelect.Eof do
    begin
      ComboBox1.Items.Add(ADOSelect.Fields.Fields[0].Value);
      ADOSelect.Next;
    end;
  end;
end;

procedure TForm12.ComboBox1Change(Sender: TObject);
var
  aSql:string;
begin
  with MyData do
  begin
    aSql:='Select 产品编号,产品名称,颜色,入库量,存放仓库 from 产品入库单资料 where 产品编号='''+Combobox1.text+'''';
    ADOSelect.SQL.Clear;
    ADOSelect.SQL.Add(aSql);
    ADOSelect.Open;
    if ADOSelect.RecordCount>0 then
    begin
       edit4.Text:=ADOSelect.FieldByName('产品名称').AsString;
       edit5.Text:=ADOSelect.FieldByName('颜色').AsString;
       edit6.Text:=ADOSelect.FieldByName('入库量').AsString;
       edit7.Text:=ADOSelect.FieldByName('存放仓库').AsString;
    end;
  end;
end;

procedure TForm12.SpeedButton1Click(Sender: TObject);
begin
  QueryTabel('Select * From 产品出库单资料');
end;

procedure TForm12.SpeedButton15Click(Sender: TObject);
var
  acheck:string;
  i,j:integer;
begin
  if Trim(Edit1.Text)='' then
  begin
    MessageBox(Handle, '请选择自动编号!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Edit1.SetFocus;
    Exit;
  end;
  if Trim(Edit2.Text)='' then
  begin
    MessageBox(Handle, '请输入目的地!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Edit2.SetFocus;
    Exit;
  end;
  if Trim(ComboBox1.Text)='' then
  begin
    MessageBox(Handle, '请选择产品编号!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    ComboBox1.SetFocus;
    Exit;
  end;
  if Trim(Edit3.Text)='' then
  begin
    MessageBox(Handle, '请输入出库数量!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Edit6.SetFocus;
    Exit;
  end;
  i:=Strtoint(Trim(Edit6.Text));
  j:=strtoint(trim(Edit3.Text));
  if j>i then
  begin
    MessageBox(Handle, '输入的出库量大于现有存库!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Exit;
  end;
  try
    MyData.ADOConnection1.BeginTrans;
    DataSource1.DataSet.Insert;
    DataSource1.DataSet.FieldByName('产品出库单编号').AsString:=Edit1.Text;
    DataSource1.DataSet.FieldByName('时间').AsString:=DateToStr(DateTimePicker1.Date);
    DataSource1.DataSet.FieldByName('目的地').AsString:=Edit2.Text;
    DataSource1.DataSet.FieldByName('产品编号').AsString:=ComboBox1.Text;
    DataSource1.DataSet.FieldByName('产品名称').AsString:=Edit4.Text;
    DataSource1.DataSet.FieldByName('颜色').AsString:=Edit5.Text;
    DataSource1.DataSet.FieldByName('现有库存量').AsString:=Edit6.Text;
    DataSource1.DataSet.FieldByName('所在仓库').AsString:=Edit7.Text;
    DataSource1.DataSet.FieldByName('出库量').AsString:=Edit3.Text;
    DataSource1.DataSet.Post;
    with MyData do
    begin
      if i>j then
      begin
        ADOSelect.SQL.Clear;
        ADOSelect.SQL.Add('Select * from 产品入库单资料 where 产品编号='''+combobox1.Text+'''');
        ADOSelect.Open;
        ADOSelect.Edit;
        ADOSelect.FieldByName('入库量').AsString:=IntToStr(i-j);
        ADOSelect.Post;
      end
      else
      begin
        ADOSelect.SQL.Clear;
        ADOSelect.SQL.Add('Delete from 产品入库单资料 where 产品编号='''+combobox1.Text+'''');
        ADOSelect.ExecSQL;
      end;
    end;
    MyData.ADOConnection1.CommitTrans;
    
    Edit2.Clear; Edit3.Clear;   Edit4.Clear; Edit5.Clear ;Edit6.Clear;
    Edit7.Clear;
//    ZdID('');//自动生成编号
    MessageBox(Handle, '产品出库成功!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
  except
    DataSource1.DataSet.Cancel;
    MessageBox(Handle, '产品出库失败!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
  end;
end;

end.

⌨️ 快捷键说明

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