Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Sleigon am 12.03.08 - 14:09:35
-
Hallo
Ich habe ein Notes Dokument, welches mehrere Felder vom Typ "Text" mit der Option "Allow multiple values" enthält. Nun wollte ich die Daten in den Feldern ändern, was leider nicht
so richtig funktionieren will.
z.B.
Namen
Müller(0)
Meier(1)
Schulze(2)
Scholze(3)
das ganze soll per Script erfolgen
Zugreifen kann ich wunderbar auf die einzelnen Daten in den Feldern aber das Ändern bereitet noch Probleme.
Hatte es mit "ReplaceItemValue" versucht, da wurde dann aber immer nur der erste Wert geändert.
Call doc.ReplaceItemValue(Felder(xy), Neuerwert(6))
Ist es irgendwie möglich noch einen zweiten Wert bei "Felder(xy)" hinzuzufügen, welcher dann die Position im Feld enthält ?
"xy" steht für ein vorher festgelegtes Feld
mfg Sleigon
-
hallo
wenn Du in LS einen oder mehrer einzelne Werte eines Feldes ändern willst,
kannst Du die Methode "Replace" verwenden:
call doc.ReplaceItemValue( "FELDNAME" , Replace(doc.GetItemValue( "FELDNAME" ) , varOldVal , varNewVal ) )
-
Danke für den Tip :)
Funktioniert wunderbar
-
Das Vorgehen mit Replace ist aber nicht frei von Risiken und Nebenwirkungen. Gerade bei Namen kann da schnell was schief gehen.
z.B.
Müller(0)
Heinze(1)
Heinzelmann(2)
Scholze(3)
Replace Heinze mit Schneider hätte zum Ergebnis:
Müller(0)
Schneider(1)
Schneiderlmann(2)
Scholze(3)
Wenn nicht gerade das beabsichtigt ist, wäre es besser das Feld in einen Variant packen, mit ArrayGetIndex die passende Stelle suchen, ersetzen, dann das Ganze wieder zurück. Fertig.
Gruß, Fineas!