Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Optionsgruppe abwählen ?

Begonnen von asiat, Februar 13, 2011, 18:02:57

⏪ vorheriges - nächstes ⏩

asiat

Gibt es eine möglichkeit nach Auswahl einer Option in einer Optionsgruppe  wieder die Option abwählen?
aber nicht in dem ich eine andere Option auswähle oder ein zusätzliche Schaltfläche erstellen mit "Reset" Funktion.

Maxel

Du könntest ein Optionsfeld dieser Optionsgruppe als "Ausschalter" benutzen, das keine der anderen Bedingungen erfüllt.
Viele Grüße
Maxel

asiat

ich möchte ohne zusätzlichen "Ausschalter"  auskommen  :-\
vielleicht kann man das programmieren ?
ich meine wenn man auf die option klickt die schon ausgewählt ist soll die sich abwählen ?

Josef P.

Hallo!

Du könntest z. B. auf MouseUp der Umschaltfläche oder des Optionsfeldes reagieren und dann den Wert der Optionsgruppe einstellen.

Prinzip:
Private Sub Option1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Button = 1 AND Me.DeineOptionsgruppe.Value = 1 Then Me.DeineOptionsgruppe.value = Null
End Sub


mfg
Josef

database

Hallo,

indem du den Wert der Gruppe aus 0 setzt.

Wenn du die Gruppe richtig erstellt hast befindet diese sich in einem Rahmen. Um festzustellen welcher Wert angeklickt wurde, wird der Wert des Rahmens(Gruppe) abgefragt.
Wenn du diesen Rahmen dann den Wert 0 zuweist, wird die Auswahl wieder zurückgenommen.

Sinn macht das m.E. nur beim Öffnen eines Formulars - da kannst du aber auch festlegen, dass die Gruppe den Standardwert 0 besitzt. (In den Eigenschaften der Gruppe, des Rahmens ... Daten... Standardwert = 0)

Maxel

Zitatich meine wenn man auf die option klickt die schon ausgewählt ist soll die sich abwählen ?

Das ließe sich mit einer Simulation der Optionsgruppe bewerkstelligen, indem Du die entsprechende Anzahl von Kontrollkästchen platzierst.

Ein Klick auf ein bereits angewähltes Kästchen könnte dieses ausschalten; war das Kästchen noch nicht angewählt, müssen alle anderen Kontrollkästchen ausgeschaltet werden.
Viele Grüße
Maxel

asiat

danke an alle
ich habe das so gelöst wie Josef P. gemeint hat

Private Sub Option1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Me.Option1.OptionValue = Me.MeineOptionsgruppe Then
        Me.newsletter.Value = Null
    End If
End Sub


und das für jede weitere Option, nur beim Abwählen wird die erste Option leicht blau gefärbt
kann mir jemand erklehren warum? hat jemand Lust das auszuprobieren  ?

oma

Hallo,

eigentlich reicht doch zum Abwählen nur eine Option:

Private Sub Option1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Me.DeineOptionsgruppe.Value = 1 Then Me.DeineOptionsgruppe.Value = Null
End Sub


so oder auch mit deinem Code wird aber nichts blau??

Gruß Oma
nichts ist fertig!

Josef P.

Zitatnur beim Abwählen wird die erste Option leicht blau gefärbt

Meinst du damit die Hervorhebung wenn der Mauszeiger über dem Optionsfeld bzw. dessen Bezeichnungsfeld steht?

mfg
Josef

asiat

#9
oma
man muss trotzdem für jede weite Option den Code eintippen.

Josef P.
ZitatMeinst du damit die Hervorhebung wenn der Mauszeiger über dem Optionsfeld bzw. dessen Bezeichnungsfeld steht?

Ich habe 3 optionen in einer Optionsgruppe, wenn ich die Option 2 oder 3 abwähle dann wird die Option 1 hervorgehoben, sowie ob man mit der Mauszeiger über die Option stehen würde, aber das hat sich erledigt denn auf anderen PC gibts es denn Effekt nicht. (Beide Office 2010)

MzKlMu

#10
Hallo,
ich würde mir das alles sparen und eine 4 Option anlegen. Die 4.Option nennst Du z.B. "Nichts zutreffend". Dann hast Du das Problem erschlagen. Was spricht für Dich dagegen?

Nachtrag:
Und genau den Vorteil, den im nächsten Beitrag Oma auch geschrieben hat, wollte ich auch noch erwähnen.
Der User weis sofort was gemeint ist.
Und es ergibt sich noch der weitere Vorteil, ein Standardwert "Nichts zutreffend" kann sehr einfach gesetzt werden wenn erforderlich.
Gruß Klaus

oma

Hallo,

Zitatman muss trotzdem für jede weite Option den Code eintippen

nein, muss man nicht; mit meinen Code kann man mit einen 2-maligen Klick auf die erste Option die Optionsgruppe wieder auf NULL setzen.

Die ganze Sache hat insofern einen Nachteil, das der User dies wissen muss. Wollte gerade eine andere Lösung vorschlagen; nämlich eine weitete Option mit Bezeichnung "Keine der Auswahlmöglichkeiten" oder so ähnlich; genau das was eben Klaus vorgeschlagen hat.


Gruß Oma
nichts ist fertig!

database

Hallo,

ZitatWollte gerade eine andere Lösung vorschlagen ...

... womit dann auch die Aufgabe einer Optionsgruppe erfüllt wäre - nämlich auch diese Option anzuzeigen.

Josef P.

#13
Hallo!

Zitat... womit dann auch die Aufgabe einer Optionsgruppe erfüllt wäre - nämlich auch diese Option anzuzeigen.
... aber möglicherweise nicht die Anforderung der Datenbasis NULL (also "unbekannt") im Datenfeld zu speichern, wenn die Auswahl noch nicht nicht getroffen werden konnte.
=> Auch das würde darstellbar sein, wenn man dieses zusätzliche Optionsfeld nicht in die Optionsgruppe einbindest sondern als berechnetes Steuerelement nutzt und nur innerhalb der Optionsgruppe positioniert.
(Anm.: ich gehe von einer gebundenen Optionsgruppe aus - bei einer ungebundenen ist NULL nicht wichtig, da das Speichern sowieso per Code geregelt werden wird.)

mfg
Josef

MzKlMu

Hallo,
aber dann könnte man doch auch 0 statt Null zuweisen, oder einen anderen in der Gruppe nicht vorhandenen Wert.
Ich bin immer noch für Option 4.  ;D
Gruß Klaus