?? proseriseman.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 + -