none
Access 2007 Aktivieren eines bestimmten TABS per VBA Code

    Frage

  • Hallo

    Ich bin Neuling hier und habe eine Frage betreffend die Ribbons in ACCESS 2007. Ich habe eine DB mit verschiedenen Formularen zu denen ich beim Öffnen unterschiedliche Ribbons lade. Das klappt auch, d.h. die Ribbons werden angezeigt, sind aber beim Öffnen des Formulars zu dem sie gehören nicht immer aktiviert. Gibt es eine Möglichkeit beim Laden eines Formulars ein bestimmtes TAB im Ribbon auch gleich zu aktivieren.

    Habe etwas in ACCESS 2010 mit "activatetab" gelesen, weiss aber nicht, ob das auch in Access 2007 klappt.

    Danke im Voraus bestens für die Unterstützung.

    Gerhard


    Gerhard_1957
    Montag, 19. September 2011 18:13

Antworten

Alle Antworten

  • Hallo Gerhard_1957,

    Gerhard_1957 schrieb folgendes:

    Ich habe eine DB mit verschiedenen Formularen zu denen
    ich beim Öffnen unterschiedliche Ribbons lade. Das klappt auch,
    d.h. die Ribbons werden angezeigt, sind aber beim Öffnen des
    Formulars zu dem sie gehören nicht immer aktiviert. Gibt es eine
    Möglichkeit beim Laden eines Formulars ein bestimmtes TAB im Ribbon
    auch gleich zu aktivieren.

    Ja. Das richtige dürfe für diesen Fall ein "Contextual Tab" sein.

    Werfe einen Blick auf:
    http://www.accessribbon.de/?Access_-_Ribbons:Ribbon_XML___Controls:ContextualTabs
    eine andere Möglichkeit unter A2007 wäre:
    http://www.accessribbon.de/index.php?Downloads:20

    Habe etwas in ACCESS 2010 mit "activatetab" gelesen, weiss aber
    nicht, ob das auch in Access 2007 klappt.

    Nein. ActivateTab gibt es erst ab Office 2010.

    Gruß
    Gunter


    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    Montag, 19. September 2011 18:23
    Moderator
  • Hallo Gunter

    Danke für Deine 2 Tipps.

    Das mit dem "ContextualTab" hatte ich schon ausprobiert und das komische dabei ist, dass die Aktivierung des TABS bei manchen Formularen zu klappen scheint, bei anderen aber nicht. Ich habe noch nicht herausgefunden, wann es geht und wann nicht, werde dem aber noch nach gehen. U.U. hängt es damit zusammen, dass ich z.T. Formulare habe, in denen Unterformulare enthalten sind. In diesem Fall lade ich das zugehörige Ribbon einmal beim Öffnen oder Laden des Haupt- und ein 2. Mal beim Öffen odr Laden des Unterformulars. Wie gesagt, ich gehe dem nochmal nach.

    Das Bsp zu Deinem 2. Tipp habe ich angeschaut. Für mich als nicht Profi ist es noch ein wenig schwer zu durchschauen, aber vielleicht hilft es mir doch noch weiter.

    Nochmals herzlichen Dank

    Gruss

    Gerhard

     


    Gerhard_1957
    • Als Antwort markiert Gerhard_1957 Donnerstag, 6. Oktober 2011 17:44
    • Tag als Antwort aufgehoben Gerhard_1957 Donnerstag, 6. Oktober 2011 17:45
    Mittwoch, 21. September 2011 19:01
  • Hallo Gunter

    Unterdessen bin ich dem Problem mit dem Aktivieren von TABS beim Laden von Formularen nochmals im Detail nachgegangen. Es ist so wie ich vermutet habe. Ich habe unter Verwendung von <contextualtabs> und <tabSet idMso ="TabSetFormReportExtensibility"> den "Inhalt" eines Ribbons festgelegt, also die Buttons und die dazu gehörenden Funktionen programmiert. Dieses Ribbon lade ich beim Öffnen eines Formulars. Wenn es sich um ein einfaches Formular ohne Unterformular handelt, wird der TAB geladen und beim Öffnen des Form auch aktiviert. So weit so gut.

    Handelt es sich aber um ein Formular mit einem Unterformular wird der TAB zwar geladen und angezeigt, ist aber nach dem Öffnen des Formulars nicht aktiviert. Dabei lade ich den TAB sowohl in der "Form_Load" Routine des Formulars als auch des Unterformulars.

    Ich habe auch versucht in der Form_Load Routine eine Zeile mit folgendem Code einzufügen:

    me.RibbonName = Me.Parent.RibbonName

    so wie im Buch "Ribbon-Programmierung für Office 2007" von Minhorst und Breden beschrieben.

    Aber das klappt leider gar nicht, vermutlich, weil das Unterformular vor dem Formular geladen wird und daher zum, Zeitpunkt des Ladens des Unterformulars der Name des Ribbons im Formular noch gar nicht bekannt ist.

    Hast Du vielleicht eine Idee, wie ich den TAB auch bei Formularen mit Unterformularen aktivieren könnte.

    Danke im Voraus für Deine Unterstützung.

    Beste Grüsse

    Gerhard


    Gerhard_1957
    Donnerstag, 6. Oktober 2011 18:00
  • Hallo Gerhard_1957,

    Gerhard_1957 schrieb folgendes:

    me.RibbonName = Me.Parent.RibbonName

    das ist der Weg... eigentlich.

    Benötigst Du das UFo auch für andere Formulare?
    Wenn nein, stelle das Ribbon mal fest im Ufo ein.

    Gruß
    Gunter


    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    Donnerstag, 6. Oktober 2011 18:14
    Moderator