Mit nachfolgender Funktion lässt sich eine Access-Datenbank (Access 2000 oder höher) unter Verwendung der COM-Schnittstelle "JRO.Engine" komprimieren. Über den optionalen Parameter kann zudem festgelegt werden, ob die Original-Datenbank nach erfolgreichem Komprimierungsvorgang gelöscht werden soll. ' benötigte Imports Imports System.Activator Imports System.Type Imports System.Runtime.InteropServices Imports System.IO Imports System.Reflection Private Function CompressAccessDataBase( _ ByVal SourceFilename As String, _ ByVal NewFilename As String, _ Optional ByVal bDeleteSource As Boolean = False) As Boolean Try ' Connection-String festlegen Dim Connection As String = _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ SourceFilename ' Verweis auf die COM-Schnittstelle "JRO.Engine" Dim jro As Object = CreateInstance( _ GetTypeFromProgID("JRO.JetEngine")) ' Parameter festlegen Dim Params As Object() = _ New Object() {Connection, _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ SourceFilename & _ ".tmp ;Jet OLEDB:Engine Type=5"} ' Komprimiervorgang starten jro.GetType().InvokeMember("CompactDatabase", _ BindingFlags.InvokeMethod, Nothing, jro, Params) ' ggf. Quelldatei löschen If bDeleteSource Then File.Delete(SourceFilename) ' temporäre (komprimierte) Datenbank an den Zielort verschieben File.Move(SourceFilename & ".tmp", NewFilename) ' COM-Objekt wieder freigeben Marshal.ReleaseComObject(jro) jro = Nothing Return (File.Exists(NewFilename)) Catch ex As Exception MessageBox.Show(ex.Message.ToString(), "Info") Return False End Try End Function Dieser Tipp wurde bereits 17.672 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 sevAniGif (VB/VBA) Anzeigen von animierten GIF-Dateien Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |