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

📄 stockinform.pas

📁 库房管理系统
💻 PAS
字号:
unit stockinform;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls,  DBCtrls,  Mask,   Buttons, Grids, DBGrids,
  DB, ADODB, DBCtrlsEh, FR_DSet, FR_DBSet, FR_Class, frexpimg, FR_E_HTML2,
  frOLEExl, FR_E_TXT, FR_E_RTF, FR_OLE, FR_Desgn;
type
  TstockINfm = class(TForm)
    grp1: TGroupBox;
    grp2: TGroupBox;
    dbgrd1: TDBGrid;
    grp3: TGroupBox;
    Label1: TLabel;
    grp4: TGroupBox;
    Ado_MaterialIn: TADOQuery;
    tMaterialIn_ds: TDataSource;
    ADO_Product: TADOTable;
    ADO_Mtr: TADOTable;
    ds_Mtr: TDataSource;
    ds_Product: TDataSource;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label16: TLabel;
    dbdate: TDBDateTimeEditEh;
    DBEdit5: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit12: TDBEdit;
    dbqty: TDBEdit;
    DBEdit8: TDBEdit;
    mtr_name: TDBEdit;
    DBEdit6: TDBEdit;
    product_name: TDBEdit;
    DBEdit11: TDBEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    savebtn: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    BitBtn9: TBitBtn;
    BitBtn10: TBitBtn;
    comb_mtr: TDBComboBox;
    Label15: TLabel;
    Label18: TLabel;
    comb_product: TDBComboBox;
    ADO_temp: TADOQuery;
    mtr_rpt: TfrReport;
    frDBDataSet1: TfrDBDataSet;
    frOLEObject1: TfrOLEObject;
    frRTFExport1: TfrRTFExport;
    frTextExport1: TfrTextExport;
    frOLEExcelExport1: TfrOLEExcelExport;
    frHTML2Export1: TfrHTML2Export;
    frJPEGExport1: TfrJPEGExport;
    ADO_MtrMtrCode: TWideStringField;
    ADO_ProductfProductID: TWideStringField;
    RefUnit: TDBComboBox;
    dbunit: TDBComboBox;
    ado_unit: TADOTable;
    ado_unitfUnitCode: TWideStringField;
    ado_unitfbaseUnits: TWideStringField;
    moneycomb: TDBComboBox;
    ado_money: TADOTable;
    ado_moneyfMoneyCode: TWideStringField;
    measureUnit: TDBEdit;
    WeightUnit: TDBEdit;
    updt_MtrIn_Stock: TADOQuery;
    materialstock_rpt: TfrReport;
    MaterialStock: TADOQuery;
    ds_MaterialStock: TDataSource;
    frDBDS_Mtr: TfrDBDataSet;
    takeMaterpt: TfrReport;
    Ado_MaterialOutput: TADOQuery;
    ds_MtrOut: TDataSource;
    frDs_mtrOUt: TfrDBDataSet;
    insertByINput: TADOQuery;
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure comb_productChange(Sender: TObject);
    procedure comb_mtrChange(Sender: TObject);
    procedure savebtnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
    procedure Ado_MaterialInAfterPost(DataSet: TDataSet);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  stockINfm: TstockINfm;

implementation
 uses MainFm;

{$R *.dfm}

procedure TstockINfm.BitBtn5Click(Sender: TObject);
begin
  Ado_MaterialIn.Cancel;
end;

procedure TstockINfm.BitBtn3Click(Sender: TObject);
begin
     Ado_MaterialIn.edit;
     savebtn.Enabled:=true;
end;

procedure TstockINfm.BitBtn2Click(Sender: TObject);
begin
  
 if  MessageBox(Handle,PChar('sure to delete?'),'warning',mb_iconwarning+mb_yesno)=idyes then
  Ado_MaterialIn.Delete;
end;

procedure TstockINfm.BitBtn1Click(Sender: TObject);
begin
   Ado_MaterialIn.Append;
//   RzToolbarButton1.Enabled:=true;
    savebtn.Enabled:=true;
    dbdate.Value:=now();
end;

procedure TstockINfm.comb_productChange(Sender: TObject);
begin
   with ado_temp do
   ado_temp.Close;
   ado_temp.SQL.Clear;
   ado_temp.SQL.Add('select * from tMaterial where fParentID like '''+'%'+comb_product.Text+'%'+'''');
   ado_temp.open;
  // edit1.Text:=ado_temp.SQL.text;
   product_name.Text:=ado_temp.fieldbyname('fParentName').AsString;
end;

procedure TstockINfm.comb_mtrChange(Sender: TObject);
begin
    with ado_temp do
   ado_temp.Close;
   ado_temp.SQL.Clear;
   ado_temp.SQL.Add('select MtrName,fweightUnit,fMeasureUnit from tMtrCode where MtrCode like '''+'%'+comb_Mtr.Text+'%'+'''');
   ado_temp.open;
  // edit1.Text:=ado_temp.SQL.text;
   mtr_name.Text:=ado_temp.fieldbyname('MtrName').AsString;
   measureUnit.Text:=ado_temp.fieldbyname('fMeasureUnit').AsString;
   WeightUnit.Text:=ado_temp.fieldByname('fweightUnit').AsString;
//end;
end;

procedure TstockINfm.savebtnClick(Sender: TObject);
begin
  if (trim(comb_product.Text)<>'') and (trim(comb_mtr.text)<>'') and (trim(dbqty.text)<>'') and (trim(measureUnit.text)<>'') then
 begin
   if messagebox(Handle,PChar('sure to save?'),'warning',mb_iconwarning+mb_yesno)=IDYES then
    Ado_MaterialIn.Post;
    savebtn.Enabled:=false;
  end
  else
   begin
   showmessage('please check the information if intact');
   end;

end;

procedure TstockINfm.FormCreate(Sender: TObject);
  var i:integer;
begin
 with ado_product do
   if ado_product.RecordCount>0 then
   begin
    ado_product.first;
    for i:=0 to ado_product.RecordCount-1 do
     begin
     comb_product.Items.Add(ado_product.fieldbyname('fProductID').AsString);
     ado_product.Next;
     end;
   end;
    with ado_mtr do
    if ado_mtr.RecordCount>0 then
    begin
     ado_mtr.First;
    for i:=0 to ado_mtr.RecordCount-1 do
     begin
    comb_mtr.Items.Add(ado_mtr.fieldbyname('Mtrcode').AsString);
    ado_Mtr.Next;
     end;
    end;
    with ado_unit do
    if ado_unit.RecordCount>0 then
     begin
      ado_unit.First;
      for i:=0 to ado_unit.RecordCount-1 do
       begin
       dbunit.Items.Add(ado_unit.fieldbyname('fUnitCode').AsString);
       RefUnit.Items.Add(ado_unit.fieldbyname('fbaseUnits').AsString);
       end;
     end;

     with ado_money do
     if ado_money.RecordCount>0 then
       begin
       ado_money.First;
       for i:=0 to ado_money.RecordCount-1 do
        begin
        moneycomb.Items.Add(ado_money.Fieldbyname('fMoneyCode').AsString);
        ado_money.Next;
        end;
       end;
end;

procedure TstockINfm.BitBtn10Click(Sender: TObject);
begin
  mtr_rpt.ShowReport;
end;

procedure TstockINfm.Ado_MaterialInAfterPost(DataSet: TDataSet);
begin
    with  ADO_temp do
      begin
      ado_temp.Close;                 //insertMtrQtybyInput
  //    ado_temp.Close;
      ado_temp.SQL.Clear;
      ado_temp.Prepared:=false;
      ado_temp.SQL.Text:='updtMtrQtybyInput'+ ''''+Ado_MaterialIn.fieldbyname('fMtrID').AsString+'''';
      ado_temp.Prepared:=True;
      ado_temp.ExecSQL;
      end;

     with  insertByINput do
      begin
      insertByINput.Close;                 //insertMtrQtybyInput
      insertByINput.SQL.Clear;
      insertByINput.Prepared:=false;
      insertByINput.SQL.Text:='insertMtrQtybyInput'+ ''''+Ado_MaterialIn.fieldbyname('fMtrID').AsString+'''';
      insertByINput.Prepared:=True;
      insertByINput.ExecSQL;
      end;

    with updt_MtrIn_Stock do
      begin
      updt_MtrIn_Stock.Close;
      updt_MtrIn_Stock.SQL.Clear;
      updt_MtrIn_Stock.Prepared:=False;
 //     updt_MtrIn_Stock.SQL.Text:='P_Trim_MtrIN_stock' +''''+Ado_MaterialIn.FieldByName('fMtrID').AsString+'''';
      updt_MtrIn_Stock.Prepared:=True;
      updt_MtrIn_Stock.ExecSQL;
      end;
end;

procedure TstockINfm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   if Ado_MaterialIn.State in [dsInsert,dsEdit] then
  //  if  Ado_Material.Modified  then
      begin
       if MessageBox(Handle, PChar('数据未保存,确定要退出吗?'), MsgQst, Msg2YNWARN) = IDYES then
       Action:=caHide
 //     end
      else
      Action:=caNone;
     end;
end;

end.

⌨️ 快捷键说明

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