Was ich in diesem Zusammenhang ab und zu anwende ist folgendes Konstrukt:
Für jede mögliche Auswahl gibt es ein Kontrollfeld mit nur einem Wert
Beispiel:
"Kontrollfeld1" mit "> | 1"
"Kontrollfeld2" mit "> | 1"
"Kontrollfeld3" mit "> | 1"
Bei jedem Feld ist in den Feldeigenschaften (3. Reiter) "Exiting/OnChange-Ereignisse nach jeder Wertänd. ausführen" angehakt.
Im OnBlur-Event steht im Kontrollfeld1 dann dieser Code:
Sub Onblur(Source As Field)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
Dim doc As NotesDocument
Set doc = uidoc.Document
If uidoc.FieldGetText("Kontrollfeld1") <> "" Then
doc.Kontrollfeld2 = ""
doc.Kontrollfeld3 = ""
End If
End Sub
im Kontrollfeld2 steht:
Sub Onblur(Source As Field)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
Dim doc As NotesDocument
Set doc = uidoc.Document
If uidoc.FieldGetText("Kontrollfeld2") <> "" Then
doc.Kontrollfeld1 = ""
doc.Kontrollfeld3 = ""
End If
End Sub
und im Kontrollfeld3 steht:
Sub Onblur(Source As Field)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
Dim doc As NotesDocument
Set doc = uidoc.Document
If uidoc.FieldGetText("Kontrollfeld3") <> "" Then
doc.Kontrollfeld2 = ""
doc.Kontrollfeld1 = ""
End If
End Sub
Damit kann man auch Pseudo-Optionsschaltflächen nachbilden.
Ich mache das eigentlich immer dann, wenn die beschreibenden Texte sehr lang sind.
Gruß
Stefan