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

📄 unit9.pas

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

interface

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

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

var
  Form9: TForm9;

implementation
uses Data, Unit1;
{$R *.dfm}

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

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

procedure TForm9.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 TForm9.SpeedButton1Click(Sender: TObject);
begin
  QueryTabel('Select * From 原料入库单资料');
end;

procedure TForm9.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:='IY'+IntToStr(StrToInt(ADOSelect.Fields.Fields[0].Value)+10000);
    end
    else
      Sum:='IY10000';
    edit1.Text:=Sum;
  end;
end;

procedure TForm9.FormShow(Sender: TObject);
begin
  if (Form1.Qx='浏览者')  then
  begin
    SpeedButton15.Enabled:=False;
    SpeedButton20.Enabled:=False;
    SpeedButton5.Enabled:=False;
  end;
  QueryTabel('Select * From 原料入库单资料');
  ZdID('');
  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 TForm9.DBGridEh1DblClick(Sender: TObject);
begin
  if DataSource1.DataSet.RecordCount<=0 then
  begin
    MessageBox(Handle, '没有数据源!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Exit;
  end;
  Edit1.Text:=DataSource1.DataSet.FieldByName('原料入库单编号').AsString;
  DateTimePicker1.Date:= DataSource1.DataSet.FieldByName('时间').AsDateTime;
  ComboBox1.Text:=DataSource1.DataSet.fieldByName('原料编号').AsString;
  ComboBox1Change(Sender);
  if Trim(DataSource1.DataSet.FieldByName('存放仓库').AsString)='东一' then
    RadioButton1.Checked ;
  if Trim(DataSource1.DataSet.FieldByName('存放仓库').AsString)='东二' then
    RadioButton2.Checked ;
  Edit8.Text:=DataSource1.DataSet.FieldByName('入库量').AsString;
  Edit9.Text:=DataSource1.DataSet.FieldByName('总金额').AsString;  
end;

procedure TForm9.Edit8KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in['0'..'9',#13,#26,#8]) then
     key:=#0;
end;

procedure TForm9.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;
       edit3.Text:=ADOSelect.FieldByName('供应商名称').AsString;
       edit6.Text:=ADOSelect.FieldByName('单位').AsString;
       edit7.Text:=ADOSelect.FieldByName('单价').AsString;
    end;
  end;
end;
procedure TForm9.Edit8Exit(Sender: TObject);
begin
  if trim(edit8.Text)<>'' then 
    Edit9.Text:=IntToStr(StrToInt(Edit7.Text)* StrToInt(Edit8.Text));
end;

procedure TForm9.SpeedButton15Click(Sender: TObject);
var
  acheck:string;
begin
  if Trim(ComboBox1.Text)='' then
  begin
    MessageBox(Handle, '请选择原料编号!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    ComboBox1.SetFocus;
    Exit;
  end;
  if Trim(Edit8.Text)='' then
  begin
    MessageBox(Handle, '请输入入库量!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Edit8.SetFocus;
    Exit;
  end;
  try
    MyData.ADOConnection1.BeginTrans;
    DataSource1.DataSet.Insert;
    DataSource1.DataSet.FieldByName('原料入库单编号').AsString:=Edit1.Text;
    DataSource1.DataSet.FieldByName('原料编号').AsString:=ComboBox1.Text;
    DataSource1.DataSet.FieldByName('颜色').AsString:=Edit5.Text;
    DataSource1.DataSet.FieldByName('供应商').AsString:=Edit3.Text;
    DataSource1.DataSet.FieldByName('单位').AsString:=Edit6.Text;
    DataSource1.DataSet.FieldByName('单价').AsString:=Edit7.Text;
    DataSource1.DataSet.FieldByName('入库量').AsString:=Edit8.Text;
    DataSource1.DataSet.FieldByName('时间').AsString:=DateToStr(DateTimePicker1.Date);
    if RadioButton1.Checked then acheck:='东一';
    if RadioButton2.Checked then acheck:='东二';
    DataSource1.DataSet.FieldByName('存放仓库').AsString:=acheck;
    DataSource1.DataSet.FieldByName('总金额').AsString:=Edit9.Text;
    DataSource1.DataSet.Post;
    with MyData do
    begin
      ADOSelect.SQL.Clear;
      ADOSelect.SQL.Add('Select * from 原料库存资料');
      ADOSelect.Open;
      ADOSelect.Append;
      ADOSelect.FieldByName('原料编号').AsString:=ComboBox1.Text;
      ADOSelect.FieldByName('原料名称').AsString:=Edit4.Text;
      ADOSelect.FieldByName('颜色').AsString:=Edit5.Text;
      ADOSelect.FieldByName('现有库存量').AsString:=Edit8.Text;
      ADOSelect.FieldByName('最后修改时间').AsString:=DateToStr(DateTimePicker1.Date);
      ADOSelect.FieldByName('所在仓库').AsString:=acheck;
      ADOSelect.Post;
    end;
    MyData.ADOConnection1.CommitTrans;
    Edit3.Clear; Edit4.Clear; Edit5.Clear ;Edit6.Clear;
    Edit7.Clear;Edit8.Clear;Edit9.Clear;
    MessageBox(Handle, '原料入库成功!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
  except
    DataSource1.DataSet.Cancel;
    MyData.ADOConnection1.RollbackTrans;
    MessageBox(Handle, '原料入库失败!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
  end;
end;


procedure TForm9.SpeedButton20Click(Sender: TObject);
var
  acheck:string;
begin
  if Trim(ComboBox1.Text)='' then
  begin
    MessageBox(Handle, '请选择原料编号!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    ComboBox1.SetFocus;
    Exit;
  end;
  if Trim(Edit8.Text)='' then
  begin
    MessageBox(Handle, '请输入入库量!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
    Edit8.SetFocus;
    Exit;
  end;
  try
    MyData.ADOConnection1.BeginTrans;
    DataSource1.DataSet.Edit;
    DataSource1.DataSet.FieldByName('原料入库单编号').AsString:=Edit1.Text;
    DataSource1.DataSet.FieldByName('原料编号').AsString:=ComboBox1.Text;
    DataSource1.DataSet.FieldByName('颜色').AsString:=Edit5.Text;
    DataSource1.DataSet.FieldByName('供应商').AsString:=Edit3.Text;
    DataSource1.DataSet.FieldByName('单位').AsString:=Edit6.Text;
    DataSource1.DataSet.FieldByName('单价').AsString:=Edit7.Text;
    DataSource1.DataSet.FieldByName('入库量').AsString:=Edit8.Text;
    DataSource1.DataSet.FieldByName('时间').AsString:=DateToStr(DateTimePicker1.Date);
    if RadioButton1.Checked then acheck:='东一';
    if RadioButton2.Checked then acheck:='东二';
    DataSource1.DataSet.FieldByName('存放仓库').AsString:=acheck;
    DataSource1.DataSet.FieldByName('总金额').AsString:=Edit9.Text;
    DataSource1.DataSet.Post;
    with MyData do
    begin
      ADOSelect.SQL.Clear;
      ADOSelect.SQL.Add('Select * from 原料库存资料 where 原料编号='''+combobox1.Text+'''');
      ADOSelect.Open;
      if not ADOSelect.Eof then
      begin
        ADOSelect.Edit;
        ADOSelect.FieldByName('原料编号').AsString:=ComboBox1.Text;
        ADOSelect.FieldByName('原料名称').AsString:=Edit4.Text;
        ADOSelect.FieldByName('颜色').AsString:=Edit5.Text;
        ADOSelect.FieldByName('现有库存量').AsString:=Edit8.Text;
        ADOSelect.FieldByName('最后修改时间').AsString:=DateToStr(DateTimePicker1.Date);
        ADOSelect.FieldByName('所在仓库').AsString:=acheck;
        ADOSelect.Post;
      end;
    end;
    MyData.ADOConnection1.CommitTrans;
    Edit3.Clear; Edit4.Clear; Edit5.Clear ;Edit6.Clear;
    Edit7.Clear;Edit8.Clear;Edit9.Clear;
    MessageBox(Handle, '原料入库修改成功!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
  except
    DataSource1.DataSet.Cancel;
    MyData.ADOConnection1.RollbackTrans;
    MessageBox(Handle, '原料入库修改失败!', '操作提示', MB_OK + MB_ICONWARNING +
      MB_DEFBUTTON3 + MB_TOPMOST);
  end;
end;

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

end.

⌨️ 快捷键说明

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