pcfjkg
Goto Top

MS-ACCES Click auf TAB des Ribbon nutzen

Bei Click auf den TAB des Ribbons soll eine Aktion ausgelöst werden.
Fehlermeldung: Attribut getLabel des Elementes Group ist im DTD/Schema nicht definiert ...

Auf http://www.access-im-unternehmen.de/670.0.html wird beschrieben, wie getLabel von <Group ..... genutzt wird, um bereits beim click auf Tab eine Aktion auszulösen,ohne noch einmal einen Button zu bemühen. Die Idee ist:

Zitat:
... dass jedes Tab wohl mindestens ein group-Element enthalten wird. Und ein group-Element kann, wenn es sichtbar wird, eine getEnabled-Callback-Funktion aufrufen, um sein Label zu erfragen.
Dies nutzen wir aus, indem wir in dieser Callbackfunktion gleichzeitig eine Verbindung zum übergeordneten tab-Element herstellen und den gewünschten Code ausführen.
Im Beispiel soll ein Klick auf tab1 im Formular frmTabs den Namen des aktuellen Tabs ausgeben, ein Klick auf tab2 ebenfalls.
<?xml version="1.0"?> 
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="OnLoad_NeuesRibbon"> 
<ribbon startFromScratch="true"> 
<tabs>
<tab id="tab1" label="tab1"> 
<group id="grp1" tag="group 1" getLabel="getLabel"/> 
</tab>
<tab id="tab2" label="tab2"> 
<group id="grp2" tag="group 2" getLabel="getLabel"/> 
</tab>
</tabs>
</ribbon>
</customUI>

Sub onLoad_NeuesRibbon(ribbon As IRibbonUI)
    Set objRibbon_NeuesRibbon = ribbon
End Sub

Sub getLabel(control As IRibbonControl, ByRef label)
    Select Case control.Id
        Case "grp1"  
            DoCmd.OpenForm "frmTabs"  
            Forms!frmTabs!txtTab = "Tab 1"  
            objRibbon_NeuesRibbon.InvalidateControl "grp2"  
        Case "grp2"  
            DoCmd.OpenForm "frmTabs"  
            Forms!frmTabs!txtTab = "Tab 2"  
            objRibbon_NeuesRibbon.InvalidateControl "grp1"  
    End Select
    label = control.Tag
End Sub 

Zitat Ende

Obwohl ja der Callback getLabel für group gefiniert ist, kommt beim Einbinden der xml-Datei die Fehlermeldungm dass das Attribut getLabel des Elementes Group im DTD/Schema nicht definiert sei.Wo liegt der Fehler ?

Vielen Dank im Voraus für jede Antwort

PCFJKG

[Edit Biber] Code in Codetags gesetzt. [/Edit]

Content-ID: 161856

Url: https://administrator.de/contentid/161856

Ausgedruckt am: 25.11.2024 um 16:11 Uhr

schregi82
schregi82 11.03.2011 um 21:46:25 Uhr
Goto Top
und wie wärs wenn du dir die bespieldatei ziehst, die unter dem von dir genannten link angeboten wird ?
PCFJKG
PCFJKG 12.03.2011 um 06:36:50 Uhr
Goto Top
Hallo schregi82,
in der Beispieldatei war ja die XML-Datei nicht enthalten, das Beispiel für sich funktioniert. Aber: vermutlich habe ich einen Fehler in der XML gemacht, denn Deine Antwort war mir Anlass, doch noch einmal einen Versuch zu starten und siehe:es klappt. Kleiner Wermutstropfen, die Gruppe ist nach dem Click auf das Tab am Kopf des Formulars zu sehen (Im Bsp. group1). Der damit "verdeckte" (von group1 benutzte) Bereich des Monitors sieht nicht nur unschön aus, er wird auch für andere Darstellung(en) benötigt.
Hast Du dazu eine Idee ?

Aber wie auch immer, zunächst danke für Deine Antwort, ohne diese hätte ich vermulich aufgegeben und nicht noch einmal probiert.

Viele Grüße
PCFJKG