Autor Thema: Wert aus Textliste ersetzen  (Gelesen 913 mal)

Offline Joe

  • Junior Mitglied
  • **
  • Beiträge: 95
  • Geschlecht: Männlich
  • Ich liebe dieses Forum
Wert aus Textliste ersetzen
« am: 23.03.04 - 11:23:16 »
Hallo liebe Leute,

ich habe mal wieder ein Brett vor dem Kopf. Ich ändere in einem Dokument ein Feld (KEINE Mehrfachwerte). Der alte Feldinhalt wird zuvor abgespeichert. Danach möchte ich, dass in einer Collection aus anderen Dokumente alle, die den alten Wert enthalten (hier gibt es Mehrfachwerte) auf den neuen Wert geändert werden. So weit, so schlecht! Das Skript läuft prima bis zum Evaluate. Hier quittiert mir Notes "Operation failed" und bricht ab. Der Debugger sagt mir auch nix.

Wo habe ich nur meinen Denkfehler???
Gruß Joe


Sub Initialize
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim eval As Variant
   Dim formula As String
   Dim a,b As String
   Set uidoc = workspace.CurrentDocument
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim dc As NotesDocumentCollection
   
   Set db = session.CurrentDatabase
   Set uidoc = workspace.CurrentDocument
   Set view = db.GetView( "(Prüfung)" )
   Set dc = view.GetAllDocumentsByKey(uidoc.FieldGetText("Stichwort_alt"),True)
   a = uidoc.FieldGetText("Stichwort_alt")
   b = uidoc.FieldGetText("Stichwort")
   Set doc = dc.GetFirstDocument()
   While Not(doc Is Nothing)
      formula = {FIELD Stichwort := @Trim(@Replace(Stichwort;"} + a +  {";"} + b + {"))}
      eval = Evaluate(formula,doc)
      Call doc.ReplaceItemValue("Stichwort", eval)
      
      Call doc.Save(True,True)      
      Set doc = dc.GetNextDocument(doc)
   Wend
   
   Call uidoc.Close
   Call workspace.ViewRefresh
End Sub
Joachim

1 App.-Server 8.0.2FP2
4 Mail-Server 8.0.2FP2
ca. 1500 Clients 8.0.2FP2

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Wert aus Textliste ersetzen
« Antwort #1 am: 23.03.04 - 11:31:33 »
Das "FIELD Stichwort :="
passt doppelt nicht:
FIELD geht nicht mit Evaluate.
Ginge es, würdest Du als Ergebnis den Status der Operation erhalten (und dann in Deinem Feld per LS ablegen, was bestimmt nicht im Sinne des Erfinders ist), Du willst ja aber das modifizierte Array als Ergebnis.

HTH,
Bernhard

Offline Joe

  • Junior Mitglied
  • **
  • Beiträge: 95
  • Geschlecht: Männlich
  • Ich liebe dieses Forum
Re:Wert aus Textliste ersetzen
« Antwort #2 am: 23.03.04 - 11:42:13 »
Oh No!!!!  :-[

Ist ja völlig klar! Danke für die Hilfe, jetzt funzt es prächtig!

Joe
Joachim

1 App.-Server 8.0.2FP2
4 Mail-Server 8.0.2FP2
ca. 1500 Clients 8.0.2FP2

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz