DB per VBA reorganisieren?

Dieses Thema im Forum "MS Access" wurde erstellt von Snow, 16 Dezember 2004.

  1. Snow

    Snow
    Expand Collapse
    New Member

    Registriert seit:
    26 August 2003
    Beiträge:
    57
    Zustimmungen:
    0
    kennt jemand den VBA befehl, um eine Datenbank aus VBA heraus reorganisieren zu können?

    (-> also den Befehl, Extras - Datenbank-Dienstprogramme - Datenbank komprimieren und reparieren... ausführen)
     
  2. stevie

    stevie
    Expand Collapse
    New Member

    Registriert seit:
    25 Juli 2002
    Beiträge:
    36
    Zustimmungen:
    0
    Hallo Snow, - ja wo ist er denn zu Weihnachten ;-)

    Ich hatte die folgende Lösung mal gefunden:

    Modul 1
    Code:
    Option Compare Database
    Option Explicit
    Public Function AmEndekomprimieren()
        'Beim Beenden komprimieren:
        Application.SetOption "Auto compact", True
    End Function
    
    Public Function AmEndeNICHTkomprimieren()
        'Beim Beenden nicht komprimieren:
        Application.SetOption "Auto compact", False
    End Function
    
    Frm_Kompri:
    Code:
    Option Compare Database
    Dim KompriWert As Long
    Dim KompriWertNeu As Long
    
    Private Sub Form_Unload(Cancel As Integer)
    
    'Zähler um 1 erhöhen:
    KompriWert = Me.Komprimieren
    KompriWertNeu = KompriWert + 1
    Me.Komprimieren = KompriWertNeu
    
    'Abfrage ob Zähler größer 5:
    If Me.Komprimieren > 5 Then
    Call AmEndekomprimieren         'Aufruf des Modules mit Komprimierung
    Me.Komprimieren = 1             'Zähler zurücksetzen
    Else
    Call AmEndeNICHTkomprimieren    'Aufruf des Modules ohne Komprimierung
    End If
    End Sub
    
    'Form wird beim Öffnen der DB unsichtbar
    
    
    Hoffe es hilft weiter
    Gruß Stevie
     
  3. Snow

    Snow
    Expand Collapse
    New Member

    Registriert seit:
    26 August 2003
    Beiträge:
    57
    Zustimmungen:
    0
    cool, werds dann ausprobieren!

    hab vorübergehend in einem Makro einen Tastaturbefehl definiert, welches ich nun via VBA aufrufe ;)
     
  4. nessi

    nessi
    Expand Collapse
    New Member

    Registriert seit:
    21 Dezember 2005
    Beiträge:
    34
    Zustimmungen:
    0
    hallo,


    am einfachsten geht es so:

    Code:
        Sub RepairAndCompactDB()
           DoCmd.RunCommand acCmdRepairDatabase
           DoCmd.RunCommand acCmdCompactDatabase
       End sub
    gruss
    nessi
     

Diese Seite empfehlen