Das Optionsgruppen-Steuerelement

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Access stellt für die Auswahl von Werten unterschiedliche Möglichkeiten zur Verfügung. Dazu gehören Kombinationsfelder, Listenfelder, Kontrollkästchen und Optionsgruppen. Letzteren widmet sich der vorliegende Beitrag. Sie erfahren, wann Sie Optionsgruppen im Vergleich zu den anderen Steuerelementen einsetzen sollten, wie Sie Optionsgruppen auslesen, an eine Datenherkunft binden und programmieren. Außerdem finden Sie Beispiele für die Programmierung von Optionsgruppen, die voneinander abhängen.

Optionsgruppen kann man für die unterschiedlichsten Dinge verwenden. Grundsätzlich dienen Sie aber der Auswahl von Optionen beziehungsweise Daten. Die Auswahl einer Option kann entweder direkt eine entsprechende Aktion auslösen, oder die Anwendung wertet die Auswahl der Option erst später aus – beispielsweise, wenn der Benutzer eine Schaltfläche betätigt. Optionsgruppen können entweder an eine Datenherkunft – beispielsweise eine Tabelle – gebunden sein oder einfach nur zur Auswahl einer Option dienen, die den Verlauf der Anwendung beeinflusst. Zur Auswahl einer Option innerhalb einer Optionsgruppe stehen unterschiedliche Steuerelemente zur Verfügung – Optionsfelder, Kontrollkästchen und Umschaltflächen. Außerdem können Sie Optionsgruppen auch programmieren – beispielsweise, um einzelne Optionen oder die komplette Optionsgruppe zu aktivieren oder zu deaktivieren oder unsichtbar zu machen. Es gibt also eine ganze Menge interessante Dinge rund um Optionsgruppen, mit denen sich die folgenden Kapitel eingehend beschäftigen.

Einsatzbereiche von Optionsgruppen

Datenbankanwendungen fordern den Benutzer oft zur Eingabe bestimmter Informationen auf. Access bietet zu diesem Zweck unterschiedliche Steuerelemente, die für verschiedene Einsätze optimiert sind. So verwendet man Kombinationsfelder und Listenfelder, wenn man eine große oder veränderliche Anzahl von Daten zur Auswahl anbieten möchte.

Dabei erhalten Kombinationsfelder den Vorzug, wenn nicht viel Platz zur Verfügung steht und die Auswahl nicht ständig präsent sein muss. Listenfelder zeigen einen größeren Ausschnitt der verfügbaren Daten an, nehmen aber deutlich mehr Platz ein.

Kontrollkästchen und die Optionsgruppen sind in der Anzahl der anzuzeigenden Auswahlmöglichkeiten begrenzt. Dabei bieten die Kontrollkästchen lediglich die Möglichkeit, eine Auswahl anzunehmen oder abzulehnen. Das heißt, dass nur die Auswahlmöglichkeiten Ja oder Nein zur Verfügung stehen. Mit einer Optionsgruppe hingegen können Sie zwei oder mehrere Möglichkeiten zur Verfügung stellen. Die Anzahl müssen Sie allerdings beim Anlegen des Steuerelements festlegen, da von der Anzahl der Optionen auch der Platzbedarf abhängt.

Ungebundene Optionsgruppen

Ungebundene Optionsgruppen sind nicht von einer Datenherkunft abhängig. Sie können solche Optionsgruppen beispielsweise zur Auswahl einer Funktion anstelle unterschiedlicher Schaltflächen einsetzen.

Beispiel einer Optionsgruppe mit sofortiger Auswertung

Im ersten Beispiel erstellen Sie eine Optionsgruppe, die sofort nach einer Benutzereingabe ausgewertet werden soll. In dem Beispiel kann der Benutzer eine von vier Farben auswählen. Nach der Auswahl soll die Überschrift die ausgewählte Farbe erhalten.

Anlegen einer Optionsgruppe

Wenn Sie eine Optionsgruppe anlegen möchten, öffnen Sie zunächst das gewünschte Formular in der Entwurfsansicht. Der erste Schritt beim Anlegen einer Optionsgruppe ist, dem Formular den Rahmen der Optionsgruppe hinzuzufügen. Dazu klicken Sie in der Toolbox auf das entsprechende Symbol. Ziehen Sie dann im Detailbereich des Formulars einen Rahmen von der gewünschten Größe auf (siehe Bild 1). Als Ergebnis erhalten Sie einen leeren Rahmen mit der Beschriftung Rahmen0.

pic001.png

Bild 1: Der aufgezogene Rahmen der Optionsgruppe

Bild 2 zeigt das Aussehen der Optionsgruppe in der Formularansicht. Prinzipiell haben Sie hier direkt zwei Steuerelemente angelegt: Den Rahmen der Optionsgruppe und das Beschriftungsfeld.

pic002.png

Bild 2: Der Rahmen der Optionsgruppe in der Formularansicht

Damit Sie später komfortabler auf die Optionsgruppe zugreifen können, benennen Sie nun zunächst den Namen der Optionsgruppe in fraSchriftfarbe um. Dazu klicken Sie irgendwo auf den Rahmen der Optionsgruppe und ändern die entsprechende Eigenschaft. Zusätzlich sollten Sie noch die Beschriftung des Bezeichnungsfeldes anpassen, zum Beispiel Schriftfarbe auswählen. Damit greifen Sie auch gleichzeitig schon dem kommenden Beispiel vor – denn die Optionsgruppe soll zur Auswahl der Schriftfarbe der Beschriftung der Optionsgruppe dienen.

Zum ändern der Schriftfarbe müssen Sie auf das Bezeichnungsfeld zugreifen – geben Sie ihm deshalb den Namen lblOptionsgruppenbeschriftung.

Hinzufügen von Optionsfeldern

Fügen Sie der Optionsgruppe nun vier Optionsfelder hinzu. Dazu klicken Sie in der Toolbox auf das entsprechende Symbol und bewegen den nun als Optionsfeld mit Fadenkreuz erscheinenden Mauszeiger auf die gewünschte Stelle. Der Hintergrund der Optionsgruppe ändert sich, wenn Sie den Mauszeiger in den Rahmen der Optionsgruppe bewegen (siehe Bild 3). ändern Sie anschließend die Beschriftungen der Bezeichnungsfelder in Schwarz, Blau, Rot und Gelb um.

pic003.png

Bild 3: Einfügen einiger Optionsfelder in die neue Optionsgruppe

Hinweis: Im folgenden Beispiel verwenden Sie eine eingebaute VBA-Funktion namens QBColor zur Veränderung der Schriftfarbe der Beschriftung der Optionsgruppe. Die Funktion gibt für bestimmte Zahlenwerte den in VBA benötigten mehrstelligen Farbcode aus. Für das Beispiel müssen Sie die kurzen Farbwerte für die folgenden Farben kennen: Schwarz (0), Blau (1), Rot (4) und Gelb (6). Eine Beschreibung der Funktion sowie die Codes für die anderen Farben finden Sie in der Online-Hilfe unter dem Stichwort QBColor.

Den Beschriftungen entsprechend sollten Sie auch die Namen der Optionsfelder (nicht der dazugehörigen Bezeichnungsfelder!) anpassen, also etwa optSchwarz. Das dient aber nur der konsequenten Benennung der Steuerelemente, ein späterer Zugriff per Code auf die einzelnen Optionsfelder erfolgt nicht.

Wichtiger ist die Eigenschaft Optionswert eines Optionsfeldes. Sie finden die Eigenschaft im Register Daten des Eigenschaftsfensters.

Access legt für jedes Optionsfeld einen eindeutigen Zahlenwert an. Der Optionswert entspricht aber nicht immer den Anforderungen des Anwenders. Im vorliegenden Fall soll die Funktion QBColor anhand des Optionswertes der ausgewählten Option die Farbe der Schrift der Optionsgruppenbeschriftung anpassen. Daher tragen Sie als Optionswert der Optionsfelder die der Farbe entsprechenden Zahlenwerte ein – also etwa 0 für Schwarz.

Eigenschaften der Optionsgruppe anpassen

Nachdem Sie nun alle Optionsfelder eingerichtet haben, fehlen noch einige Einstellungen für die Optionsgruppe.

Sie können den ausgewählten Optionswert nämlich nur über die Optionsgruppe auswählen. Dementsprechend können Sie den Wert auch nur über die Eigenschaften der Optionsgruppe festlegen. Wenn Sie nun den Inhalt der Optionsgruppe ermitteln möchten, zeigen Sie zunächst das Formular in der Formularansicht an. Anschließend aktivieren Sie mit Strg + G das Testfenster und geben die folgende Anweisung ein:

 Forms!frmOptionsgruppen!fraSchriftfarbe

Wenn Sie noch kein Feld der Optionsgruppe angeklickt haben, sollte im Testfenster als Antwort auf die Eingabe der Ausdruck NULL erscheinen. Wenn Sie nun eine der Option aktivieren und die Eingabe wiederholen, sollte der Zahlenwert der gewünschten Farbe erscheinen. Damit die Optionsgruppe direkt beim Anzeigen des Formulars eine bestimmte Option aktiviert, legen Sie den gewünschten Wert in der Eigenschaft Standardwert der Optionsgruppe fest, beispielsweise den Wert 0 für die Farbe Schwarz (siehe Bild 4).

pic004.png

Bild 4: Die fertige Optionsgruppe in der Formularansicht

Auswertung der Optionsgruppe

Im Testfenster haben Sie soeben bereits eine Auswertung der Optionsgruppe vorgenommen. Die Optionsgruppe soll nun direkt bei einer änderung ausgewertet und die Schriftfarbe des Formulartitels angepasst werden. Dazu verwenden Sie eine kleine Prozedur, die bei einem Klick auf eines der Optionsfelder ausgelöst wird. Legen Sie die folgende Prozedur für die Ereigniseigenschaft Beim Klicken der Optionsgruppe an:

Private Sub fraSchriftfarbe_Click()
    Me!lblOptionsgruppenbeschriftung. _
    ForeColor = QBColor(fraSchriftfarbe)
    End Sub

Die Prozedur ordnet dem Bezeichnungsfeld direkt nach der Auswahl einer Option die entsprechende Farbe zu.

Beispiel einer Optionsgruppe mit nachträglicher Auswertung

Nicht alle Optionsgruppen müssen direkt nach der änderung des Wertes ausgewertet werden. Ein gutes Beispiel für eine Optionsgruppe, die nicht direkt nach der Auswahl ausgewertet wird, ist Folgendes: Startformulare von Datenbankanwendungen enthalten manchmal Schaltflächen zum Aufrufen der einzelnen Funktionen.

Sie haben den Nachteil, dass man auf den Schaltflächen relativ wenig Text zur Beschreibung der aufzurufenden Funktion unterbringen kann. Günstiger ist hier der Einsatz einer Optionsgruppe: Hier kann der Anwender zunächst die gewünschte Funktion auswählen.

In einem Textfeld zeigt das Startformular genauere Hinweise über die ausgewählte Funktion an. Wenn der Anwender die geeignete Funktion gefunden hat, kann er die Funktion durch Betätigen einer Schaltfläche starten.

Anlegen der Optionsgruppe

Beim Anlegen der Optionsgruppe verfahren Sie wie beim vorherigen Beispiel. Legen Sie – je nach Bedarf – einige Optionsfelder in der Optionsgruppe an.

Praxis-Tipp: Das Anlegen mehrerer Optionsfelder ist relativ ermüdend. Man muss jedes Feld einzeln anlegen und anschließend auch noch ordentlich ausrichten. Leichter geht es auf folgende Weise: Legen Sie das oberste Optionsfeld wie gewohnt an. Behalten Sie als markiert bei und verwenden Sie hintereinander die Tastenkombination Strg + C und Strg + V, bis genügend Optionsfelder vorhanden sind. Hier müssen Sie allerdings nachträglich die Optionswerte anpassen.

Beschriften Sie die Optionsfelder. Die Optionswerte können Sie beibehalten – Access sollte sie automatisch von 1 an durchnummeriert haben.

Anlegen weiterer Steuerelemente

Anschließend benötigen Sie noch eine Schaltfläche, um das angegebene Formular zu öffnen. Beschriften Sie es mit der Bezeichnung Auswählen und nennen Sie es btnAuswaehlen.

Außerdem fügen Sie links von der Optionsgruppe noch ein ausreichend großes Textfeld ein. Nennen Sie das Feld txtBeschreibung. Es dient zur Anzeige einer Kurzbeschreibung der ausgewählten Funktion (siehe Bild 5).

pic005.png

Bild 5: Beispiel für eine Optionsgruppe mit nachträglicher Auswertung

Damit der Anwender keinen Zugriff auf das Textfeld hat, können Sie es mit der änderung zweier Eigenschaften sperren: Setzen Sie die Eigenschaft Aktiviert auf den Wert Nein und die Eigenschaft Gesperrt auf den Wert Ja.

Auswertung der Optionsgruppe

Das Beispiel enthält nicht nur eine nachträgliche, sondern auch eine sofortige Auswertung der Optionsgruppe: Nach der Auswahl soll das Textfeld txtBeschreibung nämlich kurz die ausgewählte Funktion beschreiben. Dazu verwenden Sie die Prozedur aus Listing 1, die beim Auslösen der Ereigniseigenschaft Beim Klicken der Optionsgruppe aufgerufen wird.

Listing 1: Auswertung der gewählten Option

Private Sub fraFunktionen_Click()
    Select Case Me!fraFunktionen
        Case 1
            Me.txtBeschreibung = "Anzeige der Kundendaten. Hier können Sie " _
            & "Kundendaten bearbeiten, hinzufügen und löschen."
        Case 2
            Me.txtBeschreibung = "Anzeige der Projektdaten. Hier können Sie " _
            & "Projektdaten bearbeiten, hinzufügen und löschen."
        Case 3
            Me.txtBeschreibung = "Verwaltung der Aufträge. Hier können Sie " _
            & "Auftragsdaten eingeben."
        Case 4
            Me.txtBeschreibung = "Rechnungserstellung. Hier können Sie Rechnungen " _
            & "einsehen, erstellen, bearbeiten und ausdrucken."
        Case 5
            Me.txtBeschreibung = "Korrespondenz. Hier können Sie Faxe und " _
            & "Angebote erstellen und ausdrucken."
        Case 6
            Me.txtBeschreibung = "Personalverwaltung. Hier können Sie Personal" _
            & "daten einsehen, verändern, hinzufügen und löschen."
    End Select
End Sub

Die Schaltfläche btnAuswaehlen dient zur Anzeige der ausgewählten Funktion – im vorliegenden Fall der Anzeige unterschiedlicher Formulare.

Hinterlegen Sie für die Ereigniseigenschaft Beim Klicken der Schaltfläche die folgende Prozedur:

Private Sub btnAuswaehlen_Click()
    Select Case Me!fraFunktionen
        Case 1
            DoCmd.OpenForm "frmKunden"
        Case 2
            DoCmd.OpenForm "frmProjekte"
        Case 3
            DoCmd.OpenForm "frmAuftragsdaten"
        Case 4
            DoCmd.OpenForm "frmRechnungen"
        Case 5
            DoCmd.OpenForm "frmKorrespondenz"
        Case 6
            DoCmd.OpenForm "frmPersonal"
    End Select
End Sub

Gebundene Optionsgruppen

Gebundene Optionsgruppen haben einen Bezug zu den Daten einer Datenherkunft, beispielsweise einer Tabelle. Im folgenden Beispiel lernen Sie eine gebundene Optionsgruppe kennen.

Dabei können Sie das vorherigen Beispiel verwenden: Sie erstellen nun ein Formular zur Eingabe der Kundendaten. Neben den Adressdaten soll der Anwender auch eingeben können, ob es sich bei dem Kunden um einen Privat- oder einen Geschäftskunden handelt.

Während die Adressdaten per Textfeld einzugeben sind, verwenden Sie für die Kundenart eine gebundene Optionsgruppe.

Vorbereitung der Datenherkunft

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar