Domino 9 und frühere Versionen > ND8: Entwicklung

Optionsfeld: Wert prüfen und ggf. ersetzen

<< < (2/3) > >>

DominoDancing:
Hallo Chris,

das kann man natürlich auf verschiedenste Art und Weise lösen, je nachdem, was erreicht werden soll. Du kannst auch einfach Deine neue Auswahl im Optionsfeld hinterlegen und Deine "alten" Werte im QueryOpen und QueryModeChange der Maske in die "neuen" Werte übersetzen. Vielleicht etwa so (hier am Beispiel QueryOpen):

Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
   If Source.EditMode = True Then 'nur im Bearbeiten-Modus
      Set doc = Source.Document 'verwende das aktuelle Dokument
      Select Case doc.Optionsfeld(0) 'Zuordnung abweichender neuer Werte zu altem Wert
         Case "AlteAuswahlmöglichkeit1": doc.Optionsfeld = "NeueAuswahlmöglichkeitA" 'Alt1 -> NeuA
         Case "AlteAuswahlmöglichkeit2": doc.Optionsfeld = "NeueAuswahlmöglichkeitB" 'Alt2 -> NeuB
         ... 'usw.usf.etc.lsmf
      End Select
   End If
End Sub

Somit werden aber nur diejenigen Dokumente geändert, die auch tatsächlich "neu" bearbeitet und gespeichert werden. Sinnvoll wäre hier, ggf. alle Dokumente per Prozess (Agent), derart mit den aktuellen Werten zu belegen.

Liebe Grüße
René

Klafu:
Hallo Peter,

leider will das nicht funktionieren. Entweder zeigt er mir die drei leeren Auswahlfelder oder mir werden alle 5 Auswahlkriterien gezeigt.

Ich werde nun den ordentlichen Weg gehen und alle betroffenen Felder automatisch Ändern.

Hallo Renè,
Danke für den interessanten Vorschlag!


Vielen Dank euch allen  :D

Chris

gstueb:
Hallo Chris,

wenn dein Ergebnisfeld vom Typ "Textliste" ist, hast du in der Maske kein Optionsfeld verwendet, sondern z.B. "Kontrollkästchen" als Feldtyp. In dem Fall kannst du das alte Feld nicht mit


--- Code: ---@If(Feld="xxx";dann;sonst)
--- Ende Code ---

abfragen, sondern du musst prüfen, ob das Feld einen gewissen Wert enthält:


--- Code: ---@If(@IsMember(Feld;"xxx");dann;sonst)
--- Ende Code ---

Ich empfehle ebenfalls einen Umstellungsagenten zu basteln.

Grüße,
Gregor


--- Zitat von: Klafu am 17.08.15 - 12:25:04 ---Hallo,

es ist bestimmt leicht aber ich muss nachhaken:
Ich habe in einer Maske ein Optionsfeld mit 5 Auswahlmöglichkeiten. Nun, nach langer Zeit kommt die Anforderung, diese Auswahlmöglichkeiten zu überarbeiten. Eine Möglichkeit soll wegfallen, zwei andere zusammengelegt werden.

Ich dachte, der leichteste Weg ist in den Optionen des Feldes die Auswahmöglichkeiten zu ändern und um in den bestehenden Dokumente ein leeres Feld vorzubeugen, einfach über @If(Feldname="AlteAuswahlmöglichkeit";"NeueAuswahlmöglichkeit";Feldname) als "Vorgabewert" zu gehen. Bei normalen Feldern ging das auch immer. Nur habe ich hier im Optionsfeld nun eine Textliste und finde gerade nicht den passenden Weg, den ausgewählten Wert zu ermitteln und ggf. dafür einen neuen anzeigen zu lassen.

Habt ihr mir einen kurzen Denkanstoß, wie ich das via Feld-Formel löse?

Chris

--- Ende Zitat ---

Klafu:
Ja, wie gesagt werde ich die Feldwerte via Agent umschreiben lassen.

Und ein Feld vom Typ Optionsfeld macht bei mir durchaus Textlisten  ;)

Gruß
Chris

Peter Klett:
Notes-Items sind immer Listen (ok, nicht Richtext...), ein Optionsfeld kann aber keine Mehrfachwerte erzeugen, wie auf Deinem Screenshot gezeigt. Mehrfachwerte ist nicht angehakt und grau, kann also auch nicht angehakt werden. Und in Deinem Beispiel ist auch nur ein einzelner Wert angegeben. Also sollte der einfache Weg, den Du ursprünglich als nicht möglich bezeichnet hattest, schon gehen. Vermutlich liegt die Ursache des aufgetretenen Verhaltens ganz woanders?

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln