Hey Steffan, *,
ich versuche mal ein bischen Klarheit in die Optionsbutton-Geschichte zu bringen. So ganz einfach ist das nicht und so ganz "logisch" auch noch nicht, eben weil die Behandlung unterschiedlich ist zwischen Formularen und Dialogen.
Also:
Damit intern eine Abhängigkeit der Optionsbuttons hergestellt wird, muss bei Formularen der
Name gleich sein. Das habt ihr ja schon erkannt.
Nun habt ihr eine Gruppe von Optionsfeldern (intern) und die wird auch so behandelt. Um an diese heranzukommen, nutzt ihr nun die Methode "getGroupByName()", wobei diese diverse Parameter erwartet (zur Not in API nachlesen).
in 2.x bekommt ihr die Gruppe dann so:
Code: Alles auswählen
Dim aOpt() 'Array, welches die Optionselemente aufnimmt
oForm.getGroupByName("opt", aOpt)
"opt" ist dabei der Name der Optionsfelder (alle gleich), der jetzt acuh Gruppenname ist. Der Array speichert nun alle Objekte, die dann wieder einzeln abgefragt werden können:
Code: Alles auswählen
for i = LBound(aOpt) to UBound(aOpt)
if aOpt(i) state then
msgbox "Ausgewählt wurde: " & aOpt(i).label
end if
next
Ausgegeben wird jetzt die Beschriftung (label) der Option. Genauso kann man natürlich jetzt auch die einzelnen Optionsfelder identifizieren - über die Beschriftung. Oder, man nutzt den zusätzliche Eigenschaft "Tag", der man schon bei der Konstruktion einen Wert mitgeben kann - zur eindeutigen Identifizierung

Über diese Konstrukte kannst du dann auch deine entsprechenden Optionen erledigen., das wäre die "saubere" Lösung.
Es geht aber natürlich auch, wie ihr es gelöst habt
Gruss
Thomas