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

📄 proseriseman.pas

📁 Barcode And LabelPrint
💻 PAS
字号:
unit ProSeriseMan;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, infoBase, Grids, DBGrids, DB, StdCtrls, Mask, DBCtrls, wwDialog,
  wwidlg, ADODB, ActnList, ComCtrls, ExtCtrls, ToolWin;

type
  TfrmBProSeriseMan = class(TfrmInfoBase)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    LabelDate: TLabel;
    DBMemoDetail: TDBMemo;
    DBEdtOptSNum: TDBEdit;
    DBEdtOptSName: TDBEdit;
    EditDate: TEdit;
    GroupBox2: TGroupBox;
    QBaseInfoProNumber: TIntegerField;
    QBaseInfoSerise: TWideStringField;
    QBaseInfoDetail: TWideStringField;
    QBaseInfoUpdateDate: TDateTimeField;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    ToolButton1: TToolButton;
    QToday: TADOQuery;
    procedure QBaseInfoBeforePost(DataSet: TDataSet);
    procedure QBaseInfoSeriseValidate(Sender: TField);
    procedure dsBaseInfoStateChange(Sender: TObject);
    procedure dsBaseInfoDataChange(Sender: TObject; Field: TField);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure acNewExecute(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmBProSeriseMan: TfrmBProSeriseMan;

implementation

uses StockDataModel, PublicFunction;

{$R *.dfm}

procedure TfrmBProSeriseMan.QBaseInfoBeforePost(DataSet: TDataSet);
begin
  inherited;
  if (DBEdtOptSName.Text = '') then // (EDTOptsNum.Text = '') or
  begin
    messagedlg('请填入系列名称,谢谢!', mtinformation, [mbok, mbno], 0);
    DBEdtOptSName.SetFocus;
    Abort;
  end;

  if checkValue('ProSerise', 'ProNumber', DBEdtOptSNum.Text) then
  begin
    if QBaseInfo.State in [dsInsert] then DBEdtOptSName.Text := '';
  end;

  if trim(DBEdtOptsNum.Text) = '' then QBaseInfo.FieldByName('ProNumber').AsString := inttostr(GetNextRecNoMax(StockDM.ADOConn, 'ProSerise', 'ProNumber', '', '', 20)); //自动
  QBaseInfo.FieldByName('UpDateDate').AsdateTime := date;

end;

procedure TfrmBProSeriseMan.QBaseInfoSeriseValidate(Sender: TField);
begin
  inherited;
  if not IsUnique('Serise', Sender.AsString) then
  begin
    showmessage('配置标题重复,请重新输入');
    abort;
  end;
end;

procedure TfrmBProSeriseMan.dsBaseInfoStateChange(Sender: TObject);
var
  i: integer;
begin
  inherited;
  with GroupBox1 do
    for i := 0 to ControlCount - 1 do
    begin
      if Controls[i] is TDBEdit then
        (Controls[i] as TDBEdit).ReadOnly := not acSave.Enabled
      else if Controls[i] is TDBMemo then
        (Controls[i] as TDBMemo).ReadOnly := not acSave.Enabled;
    end;
end;

procedure TfrmBProSeriseMan.dsBaseInfoDataChange(Sender: TObject;
  Field: TField);
begin
  inherited;
  if not acSave.Enabled then
    EditDate.Text := QBaseInfo.FieldByName('UpDateDate').Asstring;
end;

procedure TfrmBProSeriseMan.DBGrid1CellClick(Column: TColumn);
begin
  inherited;
  EditDate.Text := QBaseInfo.FieldByName('UpDateDate').Asstring;
end;

procedure TfrmBProSeriseMan.acNewExecute(Sender: TObject);
begin
  DBEdtOptSNum.SetFocus;
  inherited;

end;

procedure TfrmBProSeriseMan.FormShow(Sender: TObject);
begin
  inherited;

  DBEdtOptSNum.SetFocus;
end;

procedure TfrmBProSeriseMan.ToolButton1Click(Sender: TObject);
//var QToday: TADOQuery;
begin
  inherited;

 with QToday do
  begin
    close;
    sql.Clear;
    sql.Add('select a.ProNumber 编码,a.Serise 名称, a.Detail 描述 from ProSerise a ');
    open;
    if recordcount >= 1 then ExportToExcel(QToday);

  end;
  //ExportToExcel(QBaseInfo);
end;

end.

⌨️ 快捷键说明

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