![]() |
Datenbank: ACCESS • Version: 200 • Zugriff über: ADOX
Access über ADOX Komprimieren
Hi
Ich habe in einem meiner (älteren) Projekte mit hilfe dieser ![]() Nur leider habe ich es bis jetzt, selbst mit der Suche, nicht geschaft dies zu bewerkstelligen. :coder2: :wall: Aber da könnt ihr mir doch bestimmt weiterhelfen oder? :) Kleiner Auszug ...
Delphi-Quellcode:
Bin auch evtl. für neue/andere Wege eine *.mbd Datei zu erstellen offen ... aber n einfacher Compact Befehl (wie z.B. bei ABS-DB) währ mir natürlich lieber ^^
sDataSource := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + vDatabaseFileName + ';';
ADOXCatalog.Create1(sDataSource); cCreateAdresse := 'CREATE TABLE Messwerte(' + cCRLF + 'ID counter,' + cCRLF + 'Datum_Zeit Datetime,' + cCRLF + 'Versuchsname String,' ... ... ADOQuery.SQL.Text := cCreateAdresse; // Zu erstellende Spalten übergeben ADOQuery.ExecSQL; // Execute / Ausführen |
Re: Access über ADOX Komprimieren
Auszug aus einem alten Delphi-Projekt:
Delphi-Quellcode:
Grüße Mikhalconst bak_ext = '.$$$'; stAccessDB = 'Provider=Microsoft.Jet.OLEDB.4.0;'+ 'Data Source=%s'; var JetEngine: Variant; sTemp: String; // Dateiname für temporäre Datei sDBName: String; // Dateiname der Datenbank ... begin ... sTemp := ChangeFileExt(sDbName, bak_ext); JetEngine := CreateOleObject('JRO.JetEngine'); Application.ProcessMessages; Screen.Cursor := crSQLWait; try JetEngine.CompactDatabase( Format(stAccessDB, [sDBName]), Format(stAccessDB, [sTemp])); DeleteFile(sDBName); RenameFile(sTemp, sDBName); JetEngine := Unassigned; Screen.Cursor := crDefault; MessageDlg('Die Datenbank wurde erfolgreich gepackt!', mtInformation, [mbOk], 0); except // else Screen.Cursor := crDefault; JetEngine := Unassigned; MessageDlg(Format('FEHLRER!%sDie Datenbank wurde nicht gepackt!', [#13#10]), mtInformation, [mbOk], 0); end; ... end; |
Re: Access über ADOX Komprimieren
HA! COOL! Klappt! /HUG :corky: :dp:
Das Ganze verhält sich zwar n bissl komisch, aber das liegt bestimmt amm Access/Jet. Access 95 DB's mit 1000 Datensätzen werden kleiner, als Access 2000 DB's mit 1000 Datensätzen obwohl das Resultat in beiden Fällen eine Access 2000'er DB ist. :gruebel: :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz