Office: (Office 2007) Komprimieren per vba

Helfe beim Thema Komprimieren per vba in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; hallo, unter XP habe ich mit CommandBars("Menu Bar").Controls("Extras").Controls("Datenbank-Dienstprogramme").Controls("Datenbank komprimieren und... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Hütti, 14. September 2009.

  1. Komprimieren per vba


    hallo,

    unter XP habe ich mit

    CommandBars("Menu Bar").Controls("Extras").Controls("Datenbank-Dienstprogramme").Controls("Datenbank komprimieren und reparieren...").accDoDefaultAction

    meine datenbank per vba komprimiert.... unter a07 klappt das nicht mehr, da es ja das menü nicht mehr gibt...
    gibt es inzwischen einen "direktbefehl", oder wie komme ich an den entsprechenden eintrag im office-button?

    danke

    :)
     
  2. Ich glaub den "Direktbefehl" gab es bereits unter Ac97. *wink.gif* (Das funktioniert aber nicht mit der aktuell geöffneten DB.)
    Code:
    BTW: Es wundert mich, dass du mit Google & Co. nichts zu diesem Thema gefunden hast.
     
  3. hallo.

    deshalb gehe ich den weg. es ist die aktuell geöffnete, die ich komprimieren muss
     
  4. Komprimieren per vba

    Atrus2711, 15. September 2009
    #4
  5. \@atrus2711:
    ja, ist aber nur für alles vor 2007... so habe ich es ja gemacht. aber wie geht es unter 2007?
     
  6. Das Problem ist, dass das Komprimieren ein Schließen erfordert.... die DB kann sich also nicht selbst komprimieren.

    Du könntest aber den VBA-Code in einer anderen Datenbank ausführen lassen, oder vielleicht sogar in einem Add-In. Halt irgendwas, was außerhalb der aktuellen Datenbank läuft.

    Notfalls über eine Batch oder ein VBS-Script.

    PS: Die aktuelle DB komprimieren - wenn das sauber in Frontend und backend getrennt ist, sollte das nicht nötig sein. Das Frontend sollte sich eh regelmäßig neu vom Netz holen, und das Backend komprimieren ist Adminsache.
     
    Atrus2711, 15. September 2009
    #6
  7. hallo,

    soweit ist mir das klar. ich bin hier im backend. aber ich brauche einen wartungsintervall.....

    die db soll ja geschlossen werden. über das menü "schließen und reparieren" öffnet er sich anschließend auch wieder...
    man könnte auch nur über ein schließen komprimieren, aber ich muss anschließend mit meinen "wartungsarbeiten" weitermachen.

    ich möchte/muss diesen menüpunkt ausführen....

    es muss doch möglich sein, per vba auf die punkte des office-button zuzugreifen... egal, ob ich das komprimieren aufrufe, oder einen anderen punkt.
     
  8. Komprimieren per vba

    [OT]

    Du programmierst im BE? Ich würde eine Wartung eher mit einer zusätzlicher Anwendung oder über ein VB-Skript laufen lassen. Dann kannst du auch nach dem Komprimieren mit der Codeausführung fortfahren und musst nicht "von vorne" starten.
     
  9. hallo,

    es ist nicht in dem sinne ein BE, wie ihr das meint.....

    mir geht es doch nur darum, wie ich per VBA den befehl aus dem office-button starten kann....

    ich bin mir sicher, das für unsere belange das konstrukt richitg ist.... ich muss in der db daten aktualisieren und da die db zu groß wird in einem zwischenschritt komprimieren, damit ich anschließend wieder anfügen kann. und über eine externe datenbank ist es umständlicher festzustellen, wann die komprimierung beendet ist, um weiterzumachen....

    kann mir denn keiner sagen, wie ich an den befehl komme???
     
  10. "Knöpfchen drücken per Quasi-Fernsterung" ist kein guter Ansatz. Wer weiß, vielleicht ist der "erste Befehl von oben" nicht immer der gewünschte... Aber du könntest vielleicht mit der scheußlichen Krücke Sendkeys "%DWK" arbeiten. Ich kann aber nur davor warnen; das ist wie tippen, ohne auf den Bildschirm zu gucken oder Fliegen nach reiner Instrumentenlage (Ich sag nur Airbus).

    Das Anliegen (Komprimieren als Zwischenschritt) scheint mir insgesamt bedenklich. Komprimieren ist nicht nur reine Kosmetik!

    Du könntest die Zwischentabelle, die du da offenbar nutzt, in eine externen temporären Datenbank anlegen. Diese temporäre Datenbank kann gelöscht werden, sobald sie ihren Dienst getan hat.

    Solltest du keine temp. Tabellen nutzen, dass hast du scheinbar eine Datenmenge, die eh zu groß für Access ist. Wie wärs denn dann mit einer richtigen Datenbank?
     
    Atrus2711, 16. September 2009
    #10
  11. [vielleicht OT - möglicherweise aber auch die Ursache für die Problemumgehung der Problemumgehung *biggrin.gif*]
    Aktualisiert du die Daten möglicherweise über ein Recordset-Gemurks (recordset.edit & Co)?
    Das kann es nämlich schnell passieren, dass beim Ändern von Textfeldern die DB stark vergrößert wird.
    Wenn man SQL (Update-Anweisung) statt Recordset.edit verwendet, wächst die DB viel weniger.

    Und falls du Daten nur temporär speicherst, könntest du diese in eine extra Temp-Db auslagern.
     
  12. hallo josef,

    die sendkeys variante finde ich auch unglücklich... aber

    CommandBars("Menu Bar").Controls("Extras").Controls("Datenbank-Dienstprogramme").Controls("Datenbank komprimieren und reparieren...").accDoDefaultAc

    spricht ja eindeutig die menüpunkte an....

    ich weiss nur nicht, welche bezeichnung unter vba der office-button hat...
    es ist je kein command bar...

    ...und ja, ich habe sehr große datenmengen, die aktualisiert werden und über eine "ricvhtige" sql-db wäre es einfacher.... aber geht halt nicht... ist auch egal.

    ich bin unabhängig von der größe meiner db daran interessiert zu erfahren, wie ich per vba die button-punkte ansprechen kann. egal ob der aktuelle fall für jemand anderen sinnvoll oder nachvollziehbar ist.
     
Thema:

Komprimieren per vba

Die Seite wird geladen...
  1. Komprimieren per vba - Similar Threads - Komprimieren vba

  2. Binärketten komprimieren

    in Microsoft Excel Tutorials
    Binärketten komprimieren: Aus (A1:H3) 1 0 0 1 2 3 4 5 1 2 0 1 2 0 1 2 1 0 0 0 2 3 0 1 oder auch 1 0 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 0 1 1 0 1 soll komprimiert werden: 1,-2,5 2,-1,2,-1,2 1,-3,2,-1,1 J1[:J3]:...
  3. Komprimieren von Bildern

    in Microsoft Excel Tutorials
    Komprimieren von Bildern: Komprimieren von Bildern Excel für Microsoft 365 Office 2016 Picture Manager 2007 Picture Manager 2010 Office 2007 Office 2010 Office 2013...
  4. Alle Bilder komprimieren via VBA

    in Microsoft Excel Hilfe
    Alle Bilder komprimieren via VBA: Hallo, Ich versuche zurzeit Bilder in einem Excel Worksheet zu komprimieren aber irgenwie tut sich nichts. Mein Ansatz: Sub CompressAllPictures() SendKeys "A" SendKeys "{ENTER}" SendKeys "B"...
  5. nicht genügend Systemressourcen beim komprimieren

    in Microsoft Access Hilfe
    nicht genügend Systemressourcen beim komprimieren: Hallo zusammen, ich hab letzte Tage von meinem Arbeitgeber ein neues Laptop bekommen. 32 GB RAM und 1 TB Platte als SSD. Office 365 Heute habe ich mal versucht eine meine Access Datenbanken (250...
  6. Datenbank komprimieren und Reparieren sehr instabil

    in Microsoft Access Hilfe
    Datenbank komprimieren und Reparieren sehr instabil: Hallo liebe Experten für Access. Ich habe schon seit langer Zeit Access 2003 im Einsatz. Jetzt kaufte ich mir vor kurzem einen neuen Rechner, der zwar auch 1920x1080 hat, aber nur 13". Deshalb...
  7. Problem mit Komprimieren

    in Microsoft Access Hilfe
    Problem mit Komprimieren: Hallo @all, ich bin etwas ratlos :-( Seit einiger Zeit tritt auf meinem Rechner ein sehr seltsames Phänomen auf: Es wird keine .laccdb erzeugt, die Datenbank lässt sich nicht kopieren, wenn sie...
  8. Verhindern und Beheben von Datenbankdateiproblemen mithilfe von Komprimieren und Reparieren

    in Microsoft Access Tutorials
    Verhindern und Beheben von Datenbankdateiproblemen mithilfe von Komprimieren und Reparieren: Verhindern und Beheben von Datenbankdateiproblemen mithilfe von Komprimieren und Reparieren Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden