compactar msaccess 97 com senha
Quero compactar um mdb access, achei um codigo que um amigo me mandou, mas nao funciona quando tento compactar com senha... podem me ajudar.
obrigado.
segue abaixo o codigo que uso:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure Access_Compact(const aAccess: string);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses ComObj;
{$R *.DFM}
procedure TForm1.Access_Compact(const aAccess: string);
const
bak_ext = ´.$$$´;
stAccessDB = ´Provider=Microsoft.Jet.OLEDB.4.0;´ +
´Data Source=¬s´;
var
JetEngine: Variant;
TempName: string;
begin
TempName := ChangeFileExt(aAccess, bak_ext);
DeleteFile(TempName);
JetEngine := CreateOleObject(´JRO.JetEngine´);
try
JetEngine.CompactDatabase(Format(stAccessDB,[aAccess]),Format(stAccessDB,[TempName]));
DeleteFile(aAccess);
RenameFile(TempName, aAccess);
finally
JetEngine := Unassigned;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Screen.Cursor := crHourglass;
try
Access_Compact(´C:\Projeto\db1.mdb´);
finally
Screen.Cursor := crDefault;
end;
ShowMessage(´Compactação completa.´);
end;
end.
obrigado.
segue abaixo o codigo que uso:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure Access_Compact(const aAccess: string);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses ComObj;
{$R *.DFM}
procedure TForm1.Access_Compact(const aAccess: string);
const
bak_ext = ´.$$$´;
stAccessDB = ´Provider=Microsoft.Jet.OLEDB.4.0;´ +
´Data Source=¬s´;
var
JetEngine: Variant;
TempName: string;
begin
TempName := ChangeFileExt(aAccess, bak_ext);
DeleteFile(TempName);
JetEngine := CreateOleObject(´JRO.JetEngine´);
try
JetEngine.CompactDatabase(Format(stAccessDB,[aAccess]),Format(stAccessDB,[TempName]));
DeleteFile(aAccess);
RenameFile(TempName, aAccess);
finally
JetEngine := Unassigned;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Screen.Cursor := crHourglass;
try
Access_Compact(´C:\Projeto\db1.mdb´);
finally
Screen.Cursor := crDefault;
end;
ShowMessage(´Compactação completa.´);
end;
end.
Jair Santana
Curtidas 0