Access Datenbank komprimieren
Hallo an alle.
Da ich selbst schon vergeblich nach der Möglichkeit eine Access-Datenbank zu komprimieren gesucht habe, und zufälligerweise jetzt einen Weg gefunden habe, möchte ich ihn gern an andere Suchende weitergeben! Ich hoffe das es dem ein oder anderen weiterhilft :wink: Hier nun der Source:
Delphi-Quellcode:
Ich hoffe es hilft irgendjemand weiter...
const
SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;' +'Jet OLEDB:Database Password=%s;'; //erzeugt einen relativen Temp-Pfad zum Zwischenspeichern function GetTempPathFileName(): string; var SPath,SFile:array [0..254] of char; begin GetTempPath(254,SPath); GetTempFileName(SPath,'~SM',0,SFile); result:=SFile; DeleteFile(result); end; //Funktion zum Komprimieren der DB inkl. Passwort function CompactDatabase(AFileName,APassWord:string):boolean; var STempFileName:string; vJE:OleVariant; begin STempFileName:=GetTempPathFileName; try vJE := CreateOleObject('JRO.JetEngine'); vJE.CompactDatabase(format(SConnectionString, [AFileName, APassWord]), format(SConnectionString, [STempFileName, APassWord])); result:=CopyFile(PChar(STempFileName), PChar(AFileName), false); DeleteFile(STempFileName); except result:=false; end; end; //Aufruf CompactDatabase(ExtractFilePath(Application.ExeName)+'Datenbank.mdb', 'Passwort'); Viele Grüße, delphipitti :coder: [edit=Chakotay1308]Code lesbar gemacht. Mfg, Chakotay1308[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz