?? phistory.pas
字號:
unit pHistory;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, Db, ADODB, ComCtrls, ToolWin, ExtCtrls, DBCtrls;
type
TFormHistory = class(TForm)
DataSourceUsers: TDataSource;
DBGridUsers: TDBGrid;
ADOTableUsers: TADOQuery;
StatusBarProductCode: TStatusBar;
ToolBar1: TToolBar;
ToolButton3: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
DBNavigatorProductCode: TDBNavigator;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGridUsersTitleClick(Column: TColumn);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ADOTableUsersAfterEdit(DataSet: TDataSet);
procedure ADOTableUsersAfterPost(DataSet: TDataSet);
private
bAsc:Boolean;
procedure LotBackup(content:String);
public
{ Public declarations }
end;
var
FormHistory: TFormHistory;
implementation
uses PDataModuleMain, pHistorySearch, pHistoryPrint, PPublic;
{$R *.DFM}
procedure TFormHistory.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
AdoTableUsers.Close;
end;
procedure TFormHistory.DBGridUsersTitleClick(Column: TColumn);
var
sS:String;
sSql:String;
nI:integer;
begin
sS:=Column.FieldName;
ADOTableUsers.Close;
sSql:=ADOTableUsers.SQL.Text;
ADOTableUsers.sql.Clear;
nI:=Pos('order',sSql);
if nI=0 then begin
if bAsc then
sSql:=sSql+' order by '+sS +' DESC'
else
sSql:=sSql+' order by '+sS +' ASC'
end
else begin
if bAsc then
sSql:=Copy(sSql,1,nI-1)+ ' order by '+sS +' DESC'
else
sSql:=Copy(sSql,1,nI-1)+' order by '+sS +' ASC';
end;
ADOTableUsers.sql.Add(sSql);
bAsc:=not bAsc;
ADOTableUsers.Open;
DbgridUsers.Columns.Items[0].Title.Caption:='生產批號';
DbgridUsers.Columns.Items[1].Title.Caption:='出荷號';
DbgridUsers.Columns.Items[2].Title.Caption:='生產數量';
DbgridUsers.Columns.Items[3].Title.Caption:='代碼';
DbgridUsers.Columns.Items[4].Title.Caption:='品名代碼';
DbgridUsers.Columns.Items[5].Title.Caption:='加工代碼';
DbgridUsers.Columns.Items[6].Title.Caption:='日期';
DbgridUsers.Columns.Items[7].Title.Caption:='時間';
DbgridUsers.Columns.Items[8].Title.Caption:='用戶';
end;
procedure TFormHistory.ToolButton3Click(Sender: TObject);
begin
if not assigned(FormHistorySearch) then FormHistorySearch:=TFormHistorySearch.Create(Self);
FormHistorySearch.Show;
end;
procedure TFormHistory.ToolButton5Click(Sender: TObject);
begin
if not assigned(FormHistoryPrint) then FormHistoryPrint:=TFormHistoryPrint.Create(Self);
with FormHistoryPrint do begin
QuickRep1.DataSet:=ADOTableUsers;
QRDBText1.DataSet:=ADOTableUsers;
QRDBText2.DataSet:=ADOTableUsers;
QRDBText3.DataSet:=ADOTableUsers;
QRDBText4.DataSet:=ADOTableUsers;
QRDBText5.DataSet:=ADOTableUsers;
QRDBText6.DataSet:=ADOTableUsers;
QuickRep1.Print;
end;
end;
procedure TFormHistory.ToolButton6Click(Sender: TObject);
begin
if not assigned(FormHistoryPrint) then FormHistoryPrint:=TFormHistoryPrint.Create(Self);
with FormHistoryPrint do begin
QuickRep1.DataSet:=ADOTableUsers;
QRDBText1.DataSet:=ADOTableUsers;
QRDBText2.DataSet:=ADOTableUsers;
QRDBText3.DataSet:=ADOTableUsers;
QRDBText4.DataSet:=ADOTableUsers;
QRDBText5.DataSet:=ADOTableUsers;
QRDBText6.DataSet:=ADOTableUsers;
QuickRep1.Preview;
end;
end;
procedure TFormHistory.FormShow(Sender: TObject);
var
sDate:String;
begin
sDate:=FormatDateTime('yyyy-mm-01',date);
sDate:='#'+sDate+'#';
AdoTableUsers.Connection:=DataModuleMain.ADOConnectionBarCode;
AdoTableUsers.SQL.clear;
AdoTableUsers.SQL.Add('select * from LotHistory where Printdate>='+sDate);
AdoTableUsers.Open;
DbgridUsers.Columns.Items[0].Title.Caption:='生產批號';
DbgridUsers.Columns.Items[1].Title.Caption:='出荷號';
DbgridUsers.Columns.Items[2].Title.Caption:='生產數量';
DbgridUsers.Columns.Items[3].Title.Caption:='代碼';
DbgridUsers.Columns.Items[4].Title.Caption:='品名代碼';
DbgridUsers.Columns.Items[5].Title.Caption:='加工代碼';
DbgridUsers.Columns.Items[6].Title.Caption:='日期';
DbgridUsers.Columns.Items[7].Title.Caption:='時間';
DbgridUsers.Columns.Items[8].Title.Caption:='用戶';
StatusBarProductCode.SimpleText:='總數:' +IntTostr(AdoTableUsers.RecordCount);
end;
procedure TFormHistory.ADOTableUsersAfterEdit(DataSet: TDataSet);
begin
{ ADODataSetL:=TADODataSet.Create(Self);
ADoDataSetL.Connection:=DataModuleMain.ADOConnectionBarCode;
ADODataSetL.CommandText:='Select * from LotHistory where LotNo='''+trim(DataSet['LotNo'])+'''';
ADODataSetL.Open;
if ADODataSetL.eof then exit;
sBackup:=ADODataSetL['LotNo']+',';
sBackup:=sBackup+ADODataSetL['HeNo']+',';
sBackup:=sBackup+ADODataSetL['Code']+',';
sBackup:=sBackup+ADODataSetL['ProductCode']+',';
sBackup:=sBackup+ADODataSetL['ProcessCode']+',';
sBackup:=sBackup+ADODataSetL['LotAmount']+',';
sBackup:=sBackup+datetostr(ADODataSetL['PrintDate'])+',';
sBackup:=sBackup+datetimetostr(ADODataSetL['PrintTime'])+',';
sBackup:=sBackup+ADODataSetL['usercode']+',';
sBackup:=sBackup+'---Edited.' ;
ADODataSetL.Close;
ADODataSetL.Free;
LotBackup(sBackup);}
end;
procedure TFormHistory.LotBackup(content:String);
var
sFileName:String;
BackupFile:TextFile;
begin
sFileName:=ExtractFilePath(Application.ExeName)+FormatDatetime('yyyymm',date)+'.txt';
if FileExists(sFileName) then
begin
AssignFile(BackupFile,sFileName);
Reset(BackupFile);
end
else
begin
AssignFile(BackupFile,sFileName);
Rewrite(BackupFile);
end;
append(BackupFile);
WriteLn(BackupFile,content);
Flush(BackupFile);
CloseFile(BackupFile);
end;
procedure TFormHistory.ADOTableUsersAfterPost(DataSet: TDataSet);
var
ADODataSetL:TADODataSet;
sBackup:String;
begin
ADODataSetL:=TADODataSet.Create(Self);
ADoDataSetL.Connection:=DataModuleMain.ADOConnectionBarCode;
ADODataSetL.CommandText:='Select * from LotHistory where LotNo='''+trim(DataSet['LotNo'])+'''';
ADODataSetL.Open;
if ADODataSetL.eof then exit;
sBackup:=ADODataSetL['LotNo']+',';
sBackup:=sBackup+ADODataSetL['HeNo']+',';
sBackup:=sBackup+ADODataSetL['Code']+',';
sBackup:=sBackup+ADODataSetL['ProductCode']+',';
sBackup:=sBackup+ADODataSetL['ProcessCode']+',';
sBackup:=sBackup+ADODataSetL['LotAmount']+',';
sBackup:=sBackup+datetostr(ADODataSetL['PrintDate'])+',';
sBackup:=sBackup+datetimetostr(ADODataSetL['PrintTime'])+',';
sBackup:=sBackup+ADODataSetL['usercode']+',';
sBackup:=sBackup+'---Edited.' ;
ADODataSetL.Close;
ADODataSetL.Free;
LotBackup(sBackup);
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -