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

📄 sanew.pas

📁 星光药店进销存管理系统源代码
💻 PAS
字号:
unit SaNew;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, DBCtrls, ComCtrls, Mask;

type
  TFrm_SaNew = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    DBText1: TDBText;
    DBText2: TDBText;
    DBNo: TDBEdit;
    DBName: TDBEdit;
    DBSpecification: TDBEdit;
    DBFigure: TDBEdit;
    DBMagnitude: TDBEdit;
    DBprice: TDBEdit;
    DBproposition: TDBEdit;
    DBnumber: TDBEdit;
    DBmemo: TDBEdit;
    DBTotal: TDBEdit;
    DateTimeyxq: TDateTimePicker;
    DBdate: TDBEdit;
    DBUnit: TDBComboBox;
    Btpost: TBitBtn;
    BitBtn2: TBitBtn;
    SpeedButton1: TSpeedButton;
    procedure BtpostClick(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure DBNoKeyPress(Sender: TObject; var Key: Char);
    procedure DBNameKeyPress(Sender: TObject; var Key: Char);
    procedure DBSpecificationKeyPress(Sender: TObject; var Key: Char);
    procedure DBUnitKeyPress(Sender: TObject; var Key: Char);
    procedure DBMagnitudeKeyPress(Sender: TObject; var Key: Char);
    procedure DBpriceKeyPress(Sender: TObject; var Key: Char);
    procedure DBFigureKeyPress(Sender: TObject; var Key: Char);
    procedure DBpropositionKeyPress(Sender: TObject; var Key: Char);
    procedure DBnumberKeyPress(Sender: TObject; var Key: Char);
    procedure DBdateKeyPress(Sender: TObject; var Key: Char);
    procedure DBmemoKeyPress(Sender: TObject; var Key: Char);
    procedure DBTotalKeyPress(Sender: TObject; var Key: Char);
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_SaNew: TFrm_SaNew;

implementation
uses DMXS, DMKC, DMCG, sale, DMType, DType;
{$R *.dfm}

procedure TFrm_SaNew.BtpostClick(Sender: TObject);
var
  S:Integer;
  Item: TListItem;
begin
  DMX.XSTable1.Post;
  DMK.KCTable1.locate('编码',DMX.XSTable1.Fieldbyname('编号').Asstring,[]);
{减少现有库存数}
if DMK.KCTable1.FieldByName('编码').AsString=DMX.XSTable1.FieldByName('编号').AsString then
begin
  S:=DMK.KCTable1.FieldValues['数量']-DMX.XSTable1.FieldValues['数量'];
  with DMK.KCQuery1 do
    begin
      close;
      sql.Clear;
      SQL.Clear;
      SQL.Add('Update KC');
      //SQL.Add('Update KC set 数量=a.数量-b.数量 FROM KC a,XS b where a.编号=b.编号 and a.品名=b.品名');
      SQL.Add('Set 数量=' +inttostr(S));
      SQL.Add(format('Where 品名=''%s''',[DMX.XSTable1.FieldByName('品名').asstring]));
      ExecSQL;
    end;
end
else
  showmessage('没有此商品');
  Frm_Sale.ListView1.Items.Clear;
  with DMX.XSQuery1 do
    begin
      close;
      sql.Clear;
      sql.Add('select b.购货单位,b.编号,b.品名,b.规格,b.单位,b.数量,b.单价,b.金额,b.生产企业,b.批号,b.有效期,b.备注 from XS b');
      sql.Add('where b.单号 = '+DMX.XSATable1.fieldbyname('单号').Asstring);
      ExecSQL;
  first;
  while not Eof do
  begin
    Item := Frm_Sale.ListView1.Items.Add;
    Item.Caption := FieldByName('编号').AsString;
    Item.SubItems.Add(FieldByName('品名').AsString);
    Item.SubItems.Add(FieldByName('规格').AsString);
    Item.SubItems.Add(FieldByName('单位').AsString);
    Item.SubItems.Add(inttostr(FieldByName('数量').AsInteger));
    Item.SubItems.Add(inttostr(FieldByName('单价').AsInteger));
    Item.SubItems.Add(inttostr(FieldByName('金额').AsInteger));
    Item.SubItems.Add(FieldByName('生产企业').AsString);
    Item.SubItems.Add(FieldByName('批号').AsString);
    Item.SubItems.Add(FieldByName('有效期').AsString);
    Item.SubItems.Add(FieldByName('备注').AsString);
    Next;
    end;
    end;
  Close;
end;


procedure TFrm_SaNew.BitBtn2Click(Sender: TObject);
begin
  DMX.XSATable1.Cancel;
  Close;
end;

procedure TFrm_SaNew.DBNoKeyPress(Sender: TObject; var Key: Char);
begin
 if Key=#13 then
   Begin
     DMDrugs.DrugsTable1.Locate('编号',DBNo.Text,[]);
     DMX.XSTable1.Fieldbyname('编号').Asstring:=DMDrugs.DrugsTable1.FieldByName('编号').Asstring;
     DMX.XSTable1.Fieldbyname('品名').Asstring:=DMDrugs.DrugsTable1.FieldByName('品名').Asstring;
     DBName.SetFocus;
   end;
end;

procedure TFrm_SaNew.DBNameKeyPress(Sender: TObject; var Key: Char);
begin
 if Key=#13 then
   DBSpecification.SetFocus;
end;

procedure TFrm_SaNew.DBSpecificationKeyPress(Sender: TObject; var Key: Char);
begin
 if Key=#13 then
   DBUnit.SetFocus;
end;

procedure TFrm_SaNew.DBUnitKeyPress(Sender: TObject; var Key: Char);
begin
 if Key=#13 then
   DBMagnitude.SetFocus;
end;

procedure TFrm_SaNew.DBMagnitudeKeyPress(Sender: TObject; var Key: Char);
begin
 if Key=#13 then
   DBprice.SetFocus;
end;

procedure TFrm_SaNew.DBpriceKeyPress(Sender: TObject; var Key: Char);
begin
 if Key=#13 then
   DBproposition.SetFocus;
end;

procedure TFrm_SaNew.DBFigureKeyPress(Sender: TObject; var Key: Char);
begin
 if Key=#13 then
   DBproposition.SetFocus;
end;

procedure TFrm_SaNew.DBpropositionKeyPress(Sender: TObject; var Key: Char);
begin
 if Key=#13 then
   begin
     DMX.XSTable1.FieldValues['金额']:=DMX.XSTable1.FieldValues['数量']*DMX.XSTable1.FieldValues['单价'];
     DBnumber.SetFocus;
   end;
end;

procedure TFrm_SaNew.DBnumberKeyPress(Sender: TObject; var Key: Char);
begin
 if Key=#13 then
   DBdate.SetFocus;
end;

procedure TFrm_SaNew.DBdateKeyPress(Sender: TObject; var Key: Char);
begin
 if Key=#13 then
   DBmemo.SetFocus;
end;

procedure TFrm_SaNew.DBmemoKeyPress(Sender: TObject; var Key: Char);
begin
 if Key=#13 then
   DBTotal.SetFocus;
end;

procedure TFrm_SaNew.DBTotalKeyPress(Sender: TObject; var Key: Char);
begin
 if Key=#13 then
   Btpost.SetFocus;
end;


procedure TFrm_SaNew.SpeedButton1Click(Sender: TObject);
begin
  Form2.SpeedButton3.Caption:='确定';
  Form2.SpeedButton3.Top:=23;
  Form2.SpeedButton3.Left:=328;
  Form2.SpeedButton2.Visible:=False;
  Form2.ShowModal;
end;

end.

⌨️ 快捷键说明

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