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

📄 formstock.~pas

📁 药品进销存管理系统 delphi +sql2000 sql中
💻 ~PAS
字号:
unit FormStock;

interface

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

type
  TStock = class(TForm)
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label1: TLabel;
    Label6: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    GroupBox2: TGroupBox;
    Label7: TLabel;
    ComboBox1: TComboBox;
    Edit7: TEdit;
    Button4: TButton;
    Button1: TButton;
    Button3: TButton;
    GroupBox3: TGroupBox;
    DBGrid2: TDBGrid;
    Button5: TButton;
    DataSource1: TDataSource;
    ADOTable1: TADOTable;
    ADOQuery1: TADOQuery;
    ADOTable2: TADOTable;
    DataSource2: TDataSource;
    DBGrid1: TDBGrid;
    Edit8: TEdit;
    Label9: TLabel;
    Button2: TButton;
    Label10: TLabel;
    Label11: TLabel;
    Edit9: TEdit;
    Edit10: TEdit;
    procedure Edit2Change(Sender: TObject);
    //procedure Edit2Exit(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Edit6Enter(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure Button4Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
//    procedure DBGrid2ColumnMoved(Sender: TObject; FromIndex,
  //    ToIndex: Integer);
    procedure DBGrid2CellClick(Column: TColumn);
    procedure Button2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Edit3Change(Sender: TObject);
    procedure DBGrid1ColumnMoved(Sender: TObject; FromIndex,
      ToIndex: Integer);
    procedure Timer1Timer(Sender: TObject);
   // procedure DBGrid1ColumnMoved(Sender: TObject; FromIndex,
    //  ToIndex: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Stock: TStock;
  ID:string;
  Exist:boolean;

implementation
uses FormManage;
{$R *.dfm}

procedure TStock.Edit2Change(Sender: TObject);
begin
AdoTable1.Locate('药品名称',Edit2.Text,[loCaseInsensitive, loPartialKey]);
if AdoTable2.Locate('药品名称',Edit2.Text,[loCaseInsensitive, loPartialKey])then
begin
Exist:=true;
edit5.Text:=adoTable2.FieldValues['进货单价'];
edit3.Text:=adoTable2.FieldValues['药品代码'];
Edit8.Text:=AdoTable2.FieldValues['进货厂家'];
Edit9.Text:=AdoTable2.FieldValues['生产日期'];
Edit10.Text:=AdoTable2.FieldValues['有效期'];
end
else
Exist:=false;
end;

{procedure TStock.Edit2Exit(Sender: TObject);
begin

 adoquery1.Close;
 adoquery1.SQL.Clear;
 adoquery1.SQL.Add('select * from 药品信息 where 药品名称='''+edit2.Text+'''');
 adoquery1.Open;
 if  adoquery1.fieldbyname('药品代码').AsString<>''
 then
 begin
 edit5.Text:=adoquery1.fieldbyname('进货单价').AsString;
   edit3.Text:=adoquery1.fieldbyname('药品代码').AsString;
   ID:=adoquery1.fieldbyname('药品代码').AsString;
    Exist:=true;
  AdoTable2.Locate('药品代码',ID,[loCaseInsensitive, loPartialKey])
   end
   else
   begin
   ShowMessage('您想购入本店暂时没有的的药品吗?');
    Edit5.Clear;
    Edit7.Clear;
    Exist:=false;

   end

end;
 }
procedure TStock.FormCreate(Sender: TObject);
begin
Edit1.Text:=DateToStr(Date);
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
Edit8.Clear;
Edit9.Clear;
Edit10.Clear;
end;

procedure TStock.Edit6Enter(Sender: TObject);
begin
if Edit2.Text='' then
begin
ShowMessage('请输入您购入的药品名称!');
Edit2.SetFocus;
end;
if Edit4.Text='' then
begin
ShowMessage('请输入您购入的药品数量!');
Edit4.SetFocus;
end
else
Edit6.Text:=FloatToStr(StrToFloat(Edit5.Text)*StrToFloat(Edit4.Text));

end;

procedure TStock.DBGrid1CellClick(Column: TColumn);
begin
Edit3.Text:=AdoTable1.FieldValues['药品代码'];
edit5.Text:=adoTable1.FieldValues['进货单价'];
//edit3.Text:=adoTable1.FieldValues['药品代码'];
Edit8.Text:=AdoTable1.FieldValues['进货厂家'];
Edit4.Text:=AdoTable1.FieldValues['进货数量'];
Edit1.Text:=AdoTable1.FieldValues['进货日期'];
end;

procedure TStock.Button4Click(Sender: TObject);
begin
if Edit7.Text<>''then
//ShowMessage( ComboBox1.Items[0]+'****************'+Edit7.text);
begin
if AdoTable1.Locate(ComboBox1.Items[ComboBox1.ItemIndex],Edit7.text,[loCaseInsensitive, loPartialKey]) then
begin

Edit1.Text:=DateToStr(AdoTable1.FieldValues['进货日期']);
Edit2.text:=AdoTable1.FieldValues['药品名称'];
Edit3.Text:=AdoTable1.FieldValues['药品代码'];
Edit4.Text:=IntToStr(AdoTable1.FieldValues['进货数量']);
Edit5.Text:=FloatToStr(AdoTable1.FieldValues['进货单价']);
Edit6.text:=FloatToStr(AdoTable1.FieldValues['进货金额']);
Edit8.text:=FloatToStr(AdoTable1.FieldValues['进货厂家']);
end
else
ShowMessage('对不起,查不到您输入的药品信息!');
end
else
begin
  ShowMessage('请输入要查询的药品名称!');
  Edit7.SetFocus;
  end
end;

procedure TStock.Button3Click(Sender: TObject);
begin
AdoTable2.Edit;
AdoTable2.FieldValues['库存数'] := AdoTable2.FieldValues['库存数']+StrToInt(Edit4.text)-AdoTable1.FieldValues['进货数量'];
AdoTable2.Post;
AdoTable1.Edit;
AdoTable1.FieldValues['进货日期'] := Edit1.text;
AdoTable1.FieldValues['药品名称'] := Edit2.text;
AdoTable1.FieldValues['药品代码'] := Edit3.text;
AdoTable1.FieldValues['进货数量'] := Edit4.text;
AdoTable1.FieldValues['进货单价'] := Edit5.text;
AdoTable1.FieldValues['进货金额'] := Edit6.text;
AdoTable1.FieldValues['进货厂家'] := Edit7.text;
AdoTable1.Post;
end;

procedure TStock.Button1Click(Sender: TObject);
begin
if Edit6.Text='' then
begin
ShowMessage('请确认此次进货的进货金额');
Edit6.SetFocus;
end
else
begin



if Exist  and AdoTable2.FieldValues['进货单价']= StrToFloat(Edit5.text) then
  begin
   AdoTable2.Edit;

AdoTable2.FieldValues['药品名称'] := Edit2.text;
AdoTable2.FieldValues['药品代码'] := Edit3.text;
AdoTable2.FieldValues['库存数'] := Edit4.text+AdoTable2.FieldValues['库存数'];
AdoTable2.FieldValues['进货单价'] := Edit5.text;
AdoTable2.FieldValues['进货厂家'] := Edit8.text;
AdoTable2.FieldValues['生产日期'] := Edit9.text;
AdoTable2.FieldValues['有效期'] := Edit10.text;
AdoTable2.FieldValues['销售单价'] := StrToFloat(Edit5.text)*1.2;
AdoTable2.Post;
AdoTable1.Append;
AdoTable1.FieldValues['进货日期'] := Edit1.text;
AdoTable1.FieldValues['药品名称'] := Edit2.text;
AdoTable1.FieldValues['药品代码'] := Edit3.text;
AdoTable1.FieldValues['进货数量'] := Edit4.text;
AdoTable1.FieldValues['进货单价'] := Edit5.text;
AdoTable1.FieldValues['进货金额'] := Edit6.text;
AdoTable1.FieldValues['进货厂家'] := Edit8.text;
AdoTable1.Post;
end
else
begin
if AdoTable2.Locate('药品代码',Edit3.text,[loCaseInsensitive, loPartialKey]) then
begin
ShowMessage('药品代码出错,请核实!');
Edit3.SetFocus;
end
else
begin
AdoTable2.Append;
AdoTable2.FieldValues['药品名称'] := Edit2.text;
AdoTable2.FieldValues['药品代码'] := Edit3.text;
AdoTable2.FieldValues['库存数'] := Edit4.text;
AdoTable2.FieldValues['进货单价'] := Edit5.text;
AdoTable2.FieldValues['进货厂家'] := Edit8.text;
AdoTable2.FieldValues['生产日期'] := Edit9.text;
AdoTable2.FieldValues['有效期'] := Edit10.text;
AdoTable2.FieldValues['销售单价'] := StrToFloat(Edit5.text)*1.2;
AdoTable2.Post;
AdoTable1.Append;
AdoTable1.FieldValues['进货日期'] := Edit1.text;
AdoTable1.FieldValues['药品名称'] := Edit2.text;
AdoTable1.FieldValues['药品代码'] := Edit3.text;
AdoTable1.FieldValues['进货数量'] := Edit4.text;
AdoTable1.FieldValues['进货单价'] := Edit5.text;
AdoTable1.FieldValues['进货金额'] := Edit6.text;
AdoTable1.FieldValues['进货厂家'] := Edit8.text;
AdoTable1.Post;
{Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;               }
end
end;


end
end;

procedure TStock.Button5Click(Sender: TObject);
begin
Stock.Close;
Manage.Show;
end;

{procedure TStock.DBGrid2ColumnMoved(Sender: TObject; FromIndex,
  ToIndex: Integer);
begin
Edit2.Text:=AdoTable2.FieldValues['药品名称'];
Edit9.Text:=AdoTable2.FieldValues['生产日期'];
Edit10.Text:=AdoTable2.FieldValues['有效期'];
Edit4.Clear;
Edit6.Clear;
end;
 }
procedure TStock.DBGrid2CellClick(Column: TColumn);
begin
Edit3.Text:=AdoTable2.FieldValues['药品代码'];
Edit9.Text:=AdoTable2.FieldValues['生产日期'];
Edit10.Text:=AdoTable2.FieldValues['有效期'];
Edit4.Clear;
Edit6.Clear;
end;

procedure TStock.Button2Click(Sender: TObject);
begin
AdoTable2.Edit;
AdoTable2.FieldValues['库存数'] := AdoTable2.FieldValues['库存数']-AdoTable1.FieldValues['进货数量'];
AdoTable2.Post;
AdoTable1.Delete;
AdoTable1.Post;
end;

procedure TStock.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Manage.Show;
end;

procedure TStock.Edit3Change(Sender: TObject);
begin
//AdoTable1.Locate('药品代码',Edit3.Text,[loCaseInsensitive, loPartialKey]);
if AdoTable2.Locate('药品代码',Edit3.Text,[loCaseInsensitive, loPartialKey])then
begin
Exist:=true;
Edit2.Text:=adoTable2.FieldValues['药品名称'];

Edit9.Text:=AdoTable2.FieldValues['生产日期'];
Edit10.Text:=AdoTable2.FieldValues['有效期'];
end
else
Exist:=false;
end;

procedure TStock.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
  ToIndex: Integer);
begin

end;

//procedure TStock.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
 // ToIndex: Integer);
//begin

//end;

procedure TStock.Timer1Timer(Sender: TObject);
begin
Edit1.Text:=DateToStr(Date);
end;

end.

⌨️ 快捷键说明

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