Autor Thema: Werte in einem Listenfeld ändern  (Gelesen 1153 mal)

Offline Sleigon

  • Frischling
  • *
  • Beiträge: 2
Werte in einem Listenfeld ändern
« 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

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Werte in einem Listenfeld ändern
« Antwort #1 am: 12.03.08 - 14:23:33 »
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 ) )
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline Sleigon

  • Frischling
  • *
  • Beiträge: 2
Re: Werte in einem Listenfeld ändern
« Antwort #2 am: 12.03.08 - 14:42:24 »
Danke für den Tip :)

Funktioniert wunderbar

Offline Fineas

  • Aktives Mitglied
  • ***
  • Beiträge: 145
  • Geschlecht: Männlich
  • PCLP Dev/Admin 5,6,7,8
Re: Werte in einem Listenfeld ändern
« Antwort #3 am: 12.03.08 - 16:39:05 »
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!


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz