Rubrik: Access | VB-Versionen: VBA | 16.05.03 |
Aufruf von Unterformularen in sevOutbar optimieren Dieser Tipp zeigt, wie sich Unterformulare über das sevOutBar-Control mit minimalen Codeaufwand anzeigen lassen. | ||
Autor: Alexandre Hanft | Bewertung: | Views: 17.877 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Dieser Tipp zeigt eine Vereinfachung für das Ereignis Outbar_Click bei der Verwendung unter Access (97/2000/XP) in Verbindung mit dem Aufruf der jeweiligen Unterformulare.
Im mitgelieferten Beispiel enthält der Code folgende geschachtelte SELECT-Anweisung, um beim Klick auf ein Outbar-Element das jeweilige Unterformular anzuzeigen:
Private Sub OutBar1_Click(ByVal Group As Long, ByVal Item As Long) Select Case Group ' 1. Gruppe... Case 1 ' Welches Element? Select Case Item Case 1 ' 1. Element Me![Unterformular].SourceObject = "frm_Features" Case 2 ' 2. Element Me![Unterformular].SourceObject = "frm_Infos" Case 3 ' 3. Element Me![Unterformular].SourceObject = "frm_Bestellen" ' ... End Select ' 2. Gruppe... Case 2 ' Welches Element? Select Case Item ... End Select End Select End Sub
Für jede neu hinzugefügte Gruppe oder Item müssen die SELECT-Statements erweitert werden.
Wesentlich einfacher und flexibler ist es für die Zuordnung des Dialoges die ItemTag-Eigenschaften zu benutzen. Für jedes Item wird im Eigenschaften-Dialog neben dem Titel usw. das Feld "Tag" mit dem Namen des Dialoges belegt, der beim Klick auf das Item aufgerufen werden soll.
Beispiel: Für den ersten Eintrag "Features" wird in das Feld "Tag" frmFeatures eingetragen.
Der VBA-Code selbst vereinfacht sich dann zu einem Einzeiler!
Private Sub OutBar1_Click(ByVal Group As Long, ByVal Item As Long) ' SubForm steht im Tag Me![Unterformular].SourceObject = OutBar1.ItemTag(Group, Item) End Sub
Die ItemTag-Eigenschaft benötigt die Gruppe und die Nummer des gewünschten Items. Diese beiden Werte werden für das aktuell angeklickte Item ja als Parameter zum Click-Ereignis mitgeliefert.
Auch Bei Änderungen, Ergänzungen der Gruppe, Items ist nur die ItemTag-Eigenschaft neu zu belegen. Es ist dann keine Code-Änderungen mehr notwendig, was (wenn der Dialog schon vorhanden ist) auch das Hinzufügen/Ändern /Löschen zur Laufzeit ermöglicht (siehe mitgeliefertes VB6 Beispiel).
Download sevOutBar ActiveX:
sevOutBar ActiveX v2.0