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

📄 wzzd.pas

📁 物资管理系统 包括屋子入库出库管理
💻 PAS
字号:
unit WZZD;

interface

uses
  Windows, SysUtils, Variants, Classes, Controls, Forms, Dialogs, DB, Grids,
  DBGrids, StdCtrls, ExtCtrls, WZGLCommon, WZZDEDIT, ADODB, ComCtrls;

type
  TWZZDForm = class(TForm)
    dsWZZD: TDataSource;
    adotWZZD: TADOTable;
    pnlRight: TPanel;
    pnlToolBar: TPanel;
    btAdd: TButton;
    btDel: TButton;
    dbWZZD: TDBGrid;
    pnlLeft: TPanel;
    tvLb: TTreeView;
    pnlWzlb: TPanel;
    Splitter: TSplitter;
    adoqWzlb: TADOQuery;
    procedure btAddClick(Sender: TObject);
    procedure btDelClick(Sender: TObject);
    procedure tvLbChange(Sender: TObject; Node: TTreeNode);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure dsWZZDDataChange(Sender: TObject; Field: TField);
  private
    { Private declarations }
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); reintroduce;
  end;

var
  WzzdForm: TWzzdForm;

implementation

{$R *.dfm}

constructor TWZZDForm.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  // 初始化类别Treeview
  with adoqWzlb do
  begin
    Connection := AdoWzgl;
    SQL.Text := 'Select * From WZLB Order By ID';
    Open;
  end;
  FillTreeView(tvLb, adoqWzlb, 'ID', 'PID', 'LBMC');

  with adotWzzd do
  begin
    Connection := AdoWzgl;
    Open;
  end;
end;

procedure TWZZDForm.btAddClick(Sender: TObject);
begin
  with TWZZDEDITForm.Create(Self) do
  try
    ShowModal;
    if ModalResult = mrOK then
      with adotWzzd, FWZRec do
      begin
        Append;
        FieldByName('BM').AsString := BM;
        FieldByName('MC').AsString := MC;
        FieldByName('GG').AsString := GG;
        FieldByName('DW').AsString := DW;
        FieldByName('DJ').AsFloat := DJ;
        FieldByName('ID').AsInteger := Integer(tvLb.Selected.Data);
        Post;
      end;
  finally
    free;
  end;
end;

procedure TWZZDForm.btDelClick(Sender: TObject);
begin
  if Application.MessageBox('是否删除?', '确认', 1) = 1 then
  //判断当前物资如果被引用,则不能删除
  with TAdoQuery.Create(nil) do
  try
    Connection := AdoWzgl;
    Sql.Text := 'Select Bm From RKXX Where BM = ' +
      QuotedStr(Trim(adotWzzd.FieldByName('BM').AsString));
    Open;
    if RecordCount = 0 then
      adotWzzd.Delete
    else
      ShowMessage('当前物资已有入库信息,不能删除!');
  finally
    Free;
  end;
end;

procedure TWZZDForm.tvLbChange(Sender: TObject; Node: TTreeNode);
begin
  // 切换节点,刷新物资字典表格
  with adotWzzd do
  begin
    Filtered := False;
    Filter := 'ID = ' + IntToStr(Integer(tvLb.Selected.Data));
    Filtered := True;
  end;
end;

procedure TWZZDForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  WzzdForm := nil;
end;

procedure TWZZDForm.FormDestroy(Sender: TObject);
begin
  if adoqWzlb.Active then adoqWzlb.Close;
  if adotWzzd.Active then adotWzzd.Close;
end;

procedure TWZZDForm.dsWZZDDataChange(Sender: TObject; Field: TField);
begin
  btDel.Enabled := not (adotWzzd.Bof and adotWzzd.Eof);
end;

end.

⌨️ 快捷键说明

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