Autor Thema: Kontrollkästchen begrenzen?  (Gelesen 1445 mal)

Offline axelot

  • Frischling
  • *
  • Beiträge: 21
Kontrollkästchen begrenzen?
« am: 18.09.06 - 18:11:02 »
Hallo zusammen,

ich habe ein Feld (Kontrollkästchen) das 33 Einträge hat, die aktiviert werden können.
Wie verhindere ich, das mehr als 7 angeklickt werden können. Ist eine Lösung mit Optionsflächen besser (obwohl hier nicht mehr als 7 Einträge je Feld stehen dürfen.

Ich hoffe, Ihr habt hier eine gute Idee für. Vielen Dank

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Kontrollkästchen begrenzen?
« Antwort #1 am: 18.09.06 - 18:42:30 »
Wenn Du begrenzen möchtest, kannst Du das zum Beispiel über das PostRecalc-Event machen:
Für das Feld stellst Du ein, dass die Felder bei Schlüsselwortänderung aktualisiert werden sollen. Jegliche Änderung an den Kontrollkästechen triggert nun das PostRecalc-Event.
Im Event selbst zählst Du die Elemente Deines Kontrollkästchen-Feldes (mit Ubound (DEINFELD)) , bei mehr als 7 gibt es Gemecker.
Du kannst das dann auch noch ausbauen, und zum Beispiel nach dem Gemecker den zuletzt gewählten Wert wieder entfernen (in dem Du Dir im PostRecalc jeweils den letzten Feldinhalt merkst).

HTH,
Bernhard

Offline axelot

  • Frischling
  • *
  • Beiträge: 21
Re: Kontrollkästchen begrenzen?
« Antwort #2 am: 20.09.06 - 11:54:12 »
Hallo Bernhard,

zunächst Danke für Deinen Tipp. Allerdings komme ich hier trotz Notes Hilfe nicht weiter und weis leider nicht wie in

Sub Postrecalc(Source As Notesuidocument)
   UBound ( Dim maxima(2)
   Print Ubound(maxima)
End Sub

die UBound Funktion richtig einsetzten kann. Hier reichen meine Kenntnisse einfach nicht aus. Werde mir dann wohl auf andere Weise helfen müssen...

Glombi

  • Gast
Re: Kontrollkästchen begrenzen?
« Antwort #3 am: 20.09.06 - 12:08:37 »
Sub Postrecalc(Source As Notesuidocument)

if Ubound( Source.Document.DeinFeldname ) > 6 then
msgbox "Bitte nicht mehr als 7 Optionen wählen!",0+16,"Hinweis"
end if

End Sub


Damit nicht gespeichert werden kann:

Sub Querysave(....)

if Ubound( Source.Document.DeinFeldname ) > 6 then
msgbox "Bitte nicht mehr als 7 Optionen wählen!",0+16,"Hinweis"
continue = false
exit sub
end if

End Sub



Andreas

Offline axelot

  • Frischling
  • *
  • Beiträge: 21
Re: Kontrollkästchen begrenzen?
« Antwort #4 am: 20.09.06 - 13:27:22 »
Hallo Andreas,
nach diesem Hinweis hätte es ja eigentlich klappen müssen, aber es ist mir ja schon fast peinlich.... es funktioniert leider nicht. Nachfolgendes habe ich jetzt eingegeben, aber ich kann immer noch alle 34 Kästchen im Feld Bewertung.... anklicken....
Sub Postrecalc(Source As Notesuidocument)
If Ubound( Source.Document.Bewertung_Faehigkeit1 ) > 6 Then
Msgbox "Bitte nicht mehr als 7 Optionen wählen!",0+16,"Hinweis"
End If
End Sub

und

Sub Querysave(Source As Notesuidocument)
If Ubound( Source.Document.Bewertung_Faehigkeit1 ) > 6 Then
Msgbox "Bitte nicht mehr als 7 Optionen wählen!",0+16,"Hinweis"
continue = False
Exit Sub
End If
End Sub

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Kontrollkästchen begrenzen?
« Antwort #5 am: 21.09.06 - 14:11:29 »
denen, die hier mitlesen muss es wie eine alte Leier vorkommen, aber ich muss meinem Ruf als "Konservativer Formelverfechter" mal wieder gerecht werden...

Warum nehmt Ihr nicht das genau für sowas vorgesehenen Ereignisse "EingabeValidierung" ?

@If( @Elements( @ThisValue ) > 7 ; @Failure( "Bitte nicht mehr als 7 Optionen wählen" ) ; @Success )

Oder aber ohne Fehlermeldung (so dass man gar nicht erst mehr als 7 auswählen kann) mit Hilfe eines zweiten Feldes und der Eingabeumsetzung:

Feld "alteFaehigkeit" , berechnet beim anlegen, ""

und dann in der Eingabeumsetzung:

@If( @Elements( @ThisValue ) > 7 ; @Return( alteFaehigkeit ) ; "" );

FIELD alteFaehigkeit := @ThisValue ;
@ThisValue

Optional kann man ins Return noch per @Do eine Meldung eintragen: @Prompt( ,..... ) mit "Sie wollen mehr als 7 Werte eintragen, zuletzt gesetzter Wert wird rückgängig gemacht.

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline axelot

  • Frischling
  • *
  • Beiträge: 21
Re: Kontrollkästchen begrenzen?
« Antwort #6 am: 21.09.06 - 15:03:00 »
Danke, Danke, Danke.... Vielen Dank!

Hast mir sehr geholfen - viele Grüße aus dem sonnigen Berlin!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz