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

📄 wzrk.pas

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

interface

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

type
  TWZRKForm = class(TForm)
    dsWZRK: TDataSource;
    plMX: TPanel;
    dbWZRK: TDBGrid;
    pnlToolBar: TPanel;
    btAdd: TButton;
    btDel: TButton;
    adoqWZRK: TADOQuery;
    procedure btAddClick(Sender: TObject);
    procedure btDelClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure dsWZRKDataChange(Sender: TObject; Field: TField);
  private
    { Private declarations }
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); reintroduce;
  end;
  
var
  WzrkForm: TWzrkForm;

implementation

{$R *.dfm}

constructor TWZRKForm.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);

  with adoqWZRK do
  begin
    Connection := AdoWzgl; 
    SQL.Text := 'select b.RKID, b.Rkrq, b.Bm, a.MC, a.GG, a.DW, a.DJ, b.RKSL, ' +
      'a.DJ * b.RKSL as HJ from WZZD a, RKXX b where a.Bm = b.Bm Order by Rkrq';
    Open;
  end;
end;

procedure TWZRKForm.btAddClick(Sender: TObject);
begin
  with TRKDForm.Create(self) do
  try
    ShowModal;
    if ModalResult = mrOK then
      with adoqWzrk, FWZRec do
      begin
        Append;
        FieldByName('BM').AsString := BM;
        FieldByName('RKSL').AsFloat := RKSL;
        FieldByName('RKRQ').AsDateTime := Date;
        Post;
        ReQuery;
      end;
  finally
    free
  end;
end;

procedure TWZRKForm.btDelClick(Sender: TObject);
begin
  if Application.MessageBox('是否删除?', '确认', 1) = 1 then
    with TAdoQuery.Create(nil) do
    try
      // 判断是否可以删除
      Connection := AdoWzgl;
      Sql.Text := 'Select RKID from CKRK where RKID = ' +
                  IntToStr(adoqWzrk.FieldByName('RKID').AsInteger);
      Open;
      if Recordcount <> 0 then
        Showmessage('有相关联的出库信息,不能删除!')
      else
      begin
        Close;
        Sql.Text := 'Delete From RKXX where RKID = ' +
                    IntToStr(adoqWzrk.FieldByName('RKID').AsInteger);
        ExecSql;
        adoqWzrk.Requery;
      end;
    finally
      Free;
    end;
end;

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

procedure TWZRKForm.FormDestroy(Sender: TObject);
begin
  if adoqWzrk.Active then adoqWzrk.Close;
end;

procedure TWZRKForm.dsWZRKDataChange(Sender: TObject; Field: TField);
begin
  btDel.Enabled := not (adoqWzrk.Eof and adoqWzrk.Bof);
end;

end.

⌨️ 快捷键说明

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