📄 selldailyfrm.~pas
字号:
unit SellDailyFrm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGridEh, Mask, DBCtrls, ExtCtrls, ComCtrls, Buttons,
ToolWin, Db, ADODB, ActnList, EHGrids;
type
TFormMode = (fmBrowse,fmInsert,fmEdit,fmDelete,fmAccept,fmCancel);
TSellDailyForm = class(TForm)
Panel2: TPanel;
DataSource1: TDataSource;
DataSource2: TDataSource;
Rb3: TADOQuery;
ActionList1: TActionList;
AInsert: TAction;
AEdit: TAction;
ADelete: TAction;
AAccept: TAction;
ACancel: TAction;
AExit: TAction;
APrint: TAction;
AAddRow: TAction;
ADeleteRow: TAction;
Rb5: TADOQuery;
preview: TAction;
Rb1: TADOQuery;
Rb1DSDesigner: TWideStringField;
Rb1DSDesigner2: TWideStringField;
Rb1DSDesigner3: TDateTimeField;
Rb1DSDesigner4: TFloatField;
Rb1DSDesigner5: TFloatField;
Rb1DSDesigner6: TWideStringField;
Rb1Field: TStringField;
Rb1DSDesigner7: TWideStringField;
ADOQuery2: TADOQuery;
ADOQuery2DSDesigner: TWideStringField;
ADOQuery2DSDesigner2: TWideStringField;
ADOQuery2DSDesigner3: TFloatField;
ADOQuery2DSDesigner4: TFloatField;
ADOQuery2StringField: TStringField;
ADOQuery2Field: TStringField;
ADOQuery2Field1: TStringField;
ADOQuery4: TADOQuery;
DBGridEh1: TDBGridEh;
Panel4: TPanel;
Label2: TLabel;
Label5: TLabel;
Label6: TLabel;
Label9: TLabel;
Label10: TLabel;
DBEdit1: TDBEdit;
DBEdit5: TDBEdit;
DBLookupComboBox2: TDBLookupComboBox;
DBEdit2: TDBEdit;
DateTimePicker1: TDateTimePicker;
ToolBar1: TToolBar;
BitBtn10: TBitBtn;
BitBtn1: TBitBtn;
ToolButton4: TToolButton;
ToolButton3: TToolButton;
BitBtn4: TBitBtn;
BitBtn3: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn9: TBitBtn;
BitBtn2: TBitBtn;
BitBtn8: TBitBtn;
ToolButton1: TToolButton;
BtnFind: TBitBtn;
ToolButton2: TToolButton;
BitBtn5: TBitBtn;
BitBtn11: TBitBtn;
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure AInsertExecute(Sender: TObject);
procedure AEditExecute(Sender: TObject);
procedure AAcceptExecute(Sender: TObject);
procedure ACancelExecute(Sender: TObject);
procedure AExitExecute(Sender: TObject);
procedure ADOQuery2PostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure AAddRowExecute(Sender: TObject);
procedure ADeleteRowExecute(Sender: TObject);
procedure previewExecute(Sender: TObject);
procedure APrintExecute(Sender: TObject);
procedure BtnFindClick(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure DateTimePicker1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure BitBtn6Click(Sender: TObject);
procedure ADOQuery2BeforePost(DataSet: TDataSet);
procedure DBEdit1Change(Sender: TObject);
procedure ADeleteExecute(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
private
{ Private declarations }
FFormMode: TFormMode;
FCurrentDailyCode: String;
procedure SetFormMode(const Value: TFormMode);
procedure InitDataSet;
procedure SetReadOnly(const Value: boolean);
procedure SetCurrentDailyCode(const Value: String);
function ValidityCheck: Boolean;
public
{ Public declarations }
property FormMode: TFormMode read FFormMode write SetFormMode;
property CurrentDailyCode: String read FCurrentDailyCode write SetCurrentDailyCode ;
end;
var
SellDailyForm: TSellDailyForm;
implementation
uses Umain, U_DM, import1, URBFind;
{$R *.DFM}
procedure TSellDailyForm.FormActivate(Sender: TObject);
begin
frmmain.LTitle.Caption := '日报管理';
frmmain.Outlook1.Visible:=False;
frmmain.Panel1.Visible:=true;
frmmain.Panel2.Visible:=false;
end;
procedure TSellDailyForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Frmmain.Outlook1.Visible :=true;
frmmain.Panel1.Visible:=true;
Frmmain.Panel2.Visible:=True;
frmmain.Label1.Caption:='';
frmmain.LTitle.Caption := '';
Action := caFree;
SellDailyForm := nil;
end;
procedure TSellDailyForm.BitBtn1Click(Sender: TObject);
begin
Close;
end;
procedure TSellDailyForm.SetFormMode(const Value: TFormMode);
procedure SetBrowse;
begin
AInsert.Enabled := true;
AEdit.Enabled := true;
ADelete.Enabled := true;
AAddRow.Enabled := false;
ADeleteRow.Enabled := false;
AAccept.Enabled := false;
ACancel.Enabled := false;
BtnFind.Enabled :=true;
AExit.Enabled := true;
SetReadOnly(true);
BitBtn6.Enabled :=true;
DBEdit1.Enabled := true;
// DBEdit6.Enabled := true;
end;
procedure SetInsert;
var
MaxCode: string;
begin
AInsert.Enabled := false;
AEdit.Enabled := false;
ADelete.Enabled := false;
AAddRow.Enabled := true;
ADeleteRow.Enabled := true;
AAccept.Enabled := true;
ACancel.Enabled := true;
BtnFind.Enabled :=false;
AExit.Enabled := true;
SetReadOnly(false);
DBEdit1.Enabled := false;
// DBEdit6.Enabled := false;
DateTimePicker1.Enabled :=true;
if Rb1.Active=false then
Rb1.Open;
Rb1.Append;
with Rb5 do
begin
Close;
SQL.Clear;
SQL.Add(' Select Max(DailyCode) AS MaxCode From xs_DailyMaster ');
Open;
end;
// showmessage(Rb5.Fields[0].AsString );
if (Rb5.Fields[0].AsString ='') then
MaxCode:='00000001'
else
MaxCode := FormatFloat('00000000',StrToInt(rb5.FieldByName('MaxCode').asstring)+1);
Rb1.Edit;
Rb1.FieldByName('日报编号').AsString :=MaxCode;
if ADOQuery2.Active=false then
ADOQuery2.Open;
ADOQuery2.Append;
// DBEdit6.Text:=DateToStr(Date);
Rb1.FieldByName('上报时间').value := Date;
end;
procedure SetEdit;
begin
AInsert.Enabled := false;
AEdit.Enabled := false;
ADelete.Enabled := true;
AAddRow.Enabled := true;
ADeleteRow.Enabled := true;
AAccept.Enabled := true;
ACancel.Enabled := true;
AExit.Enabled := true;
BtnFind.Enabled :=false;
SetReadOnly(false);
DBEdit1.Enabled := false;
BitBtn6.Enabled :=false;
// DBEdit6.Enabled := false;
DateTimePicker1.Enabled :=true;
Rb1.Open;
ADOQuery2.Open;
Rb1.Edit;
ADOQuery2.Edit;
end;
procedure ExeCancel;
begin
Rb1.CancelBatch;
ADOQuery2.CancelBatch;
FormMode := fmBrowse;
end;
procedure ExeAccept;
begin
if ValidityCheck then
begin
Rb1.Edit ;
Rb1.FieldByName('上报时间').AsString:=DateToStr(DateTimePicker1.DateTime);
try
DM.ADOConnection.BeginTrans ;
Rb1.UpdateBatch;
ADOQuery2.updateBatch;
DM.ADOConnection.CommitTrans ;
Application.MessageBox('保存成功','信息',64);
except
DM.ADOConnection.RollbackTrans ;
Application.MessageBox('保存失败请查看,当前日期已存在日报表','信息',64);
system.exit;
end;
FormMode := fmBrowse;
end;
end;
begin
FFormMode := Value;
case Value of
fmBrowse: SetBrowse;
fmInsert: SetInsert;
fmEdit: SetEdit;
fmAccept: ExeAccept;
fmCancel: ExeCancel;
end;//case
end;
procedure TSellDailyForm.InitDataSet;
begin
{ with Rb1 do
begin
Close;
Open
end; }
end;
procedure TSellDailyForm.SetReadOnly(const Value: boolean);
begin
DBEdit1.ReadOnly := Value;
DBLookupComboBox2.ReadOnly := Value;
DBEdit5.ReadOnly := Value;
DBEdit2.ReadOnly := Value;
DBGridEh1.ReadOnly := Value;
DateTimePicker1.Enabled :=false;
end;
procedure TSellDailyForm.AInsertExecute(Sender: TObject);
begin
if FormMode<>fmInsert then
FormMode := fmInsert;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -