Optionsgruppen an Textfelder binden (Access 97, 2000)
Veröffentlicht am 30.12.2003
Optionsgruppe an ein bestimmtes Datenfeld binden.
Wenn eine Optionsgruppe an ein bestimmtes Datenfeld gebunden wird, kann durch die Auswahl einer bestimmten Option ausschließlich ein Zahlenwert in das Feld eingetragen werden.
In vielen Fällen ist es aber erforderlich, dass die Optionsgruppe an ein Textfeld gebunden wird und dementsprechend je nach Auswahl der Option verschiedene Texte in dem Datenfeld gespeichert werden.
Um dies zu realisieren, legen Sie innerhalb des betreffenden Formulars eine ungebundene Optionsgruppe mit entsprechend vielen Optionsfeldern an. Um dieses Beispiel nachzuvollziehen, weisen Sie der Optiongruppe den Namen optOptionsgruppe zu. Außerdem tragen Sie in die Marke-Eigenschaft (englisch Tag) den Namen des Datenfeldes ein, an das die Optionsgruppe gebunden werden soll.
Als nächstes plazieren Sie innerhalb der Optionsgruppe mehrere Optionsfelder und weisen diesen mittels der Optionswert-Eigenschaft eindeutige Werte zu. Beginnen Sie hierbei mit dem Wert 1. Wenn Ihre Optionsgruppe beispielsweise fünf Optionsfelder beinhaltet, numerieren Sie diese von 1 bis 7 durch.
Das Eintragen der betreffenden Texte in das Datenfeld erledigt Sie mit Hilfe einer Ereignisprozedur, die Sie an das BeimKlicken-Ereignis der Optionsgruppe knüpfen. Wenn Sie beispielsweise einen Wochentag in das Datenfeld eintragen möchten, könnte die Prozedur folgenden Aufbau haben:
Private Sub optOptionsgruppe_Click()
Dim Datenfeld As String
'Name des Datenfeldes ermitteln
Datenfeld = optOptionsgruppe.Tag
‘Wochentag in das Datenfeld eintragen
Me(Datenfeld) = Choose(optOptionsgruppe.Value, "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag")
End Sub
Die Prozedur ermittelt zunächst über die Tag-Eigenschaft das Datenfeld, in der die Wochentage untergebracht werden sollen. Anschließend wird der passende Wochentag gemäß der ausgewählten Option eingetragen.
Was nun noch fehlt, ist eine Ereignisprozedur, die die richtige Option bei der Auswahl eines neuen Datensatzes markiert. Dies Aufgabe übernimmt folgende Ereignisprozedur, die an die BeimAnzeigen-Ereigniseigenschaft des Formulars geknüpft ist:
Private Sub Form_Current()
Dim Datenfeld As String
'Wird gerade der neue Datensatz angezeigt
If Me.NewRecord = True Then
'Wenn ja, dann abbrechen
optOptionsgruppe.Value = Null
Exit Sub
End If
'Name des Datenfeldes ermitteln
Datenfeld = optOptionsgruppe.Tag
'Richtige Option auswählen
Select Case Me(Datenfeld)
Case "Montag": optOptionsgruppe.Value = 1
Case "Dienstag": optOptionsgruppe.Value = 2
Case "Mittwoch": optOptionsgruppe.Value = 3
Case "Donnerstag": optOptionsgruppe.Value = 4
Case "Freitag": optOptionsgruppe.Value = 5
Case "Samstag": optOptionsgruppe.Value = 6
Case "Sonntag": optOptionsgruppe.Value = 7
Case Else: optOptionsgruppe.Value = Null
End Select
End Sub