Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: fritandr am 23.09.04 - 17:14:06

Titel: Wert aus Mehrfachfeld löschen
Beitrag von: fritandr am 23.09.04 - 17:14:06
Hallo,

ich möchte gerne über eine Funktion aus einem Feld mit Mehrfachwerten einen einzelnen Wert löschen. Wenn ich jetzt aber meine Funktion ausführe bekomme ich einen Fehler 1024 - Operation failed.
Könnt Ihr mir bitte auf die Sprünge helfen?

Mein Script:
Code
Sub deleteReportIDfromProduct( keyProd As Variant, keyReport As Variant)
   On Error Goto errorhandler
   
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim docProduct As NotesDocument
   Dim item As NotesItem
   Dim ret_eval As Variant
   
   Set db = session.CurrentDatabase
   Set view = db.GetView("SCNGHidProID")
   Set docProduct = view.GetDocumentByKey( keyProd )
   
   If Not (docProduct Is Nothing) Then
      Set item =  docProduct.GetFirstItem("containedScrReport")
      If item.Contains(keyReport(0)) Then
                '----- folgende Zeile bringt den Fehler 1024 -----
         ret_eval = Evaluate( |FIELD containedScrReport:= @Trim(@Replace(containedScrReport; "| + keyReport(0) + |"; ""))|, docProduct)
      '   Call docProduct.Save(False, True)   
      End If   
.....

Irgendwie sitze ich mal wieder auf der Leitung.

Vielen Dank für Eure Hilfe.
Andreas
Titel: Re:Wert aus Mehrfachfeld löschen
Beitrag von: koehlerbv am 23.09.04 - 17:27:29
FIELD xxx :=
funktioniert auf jeden Fall schon mal nicht.

Tip: Schreib Dir die Strings für Evaluate vorher immer in eine StringVariable und lass Dir die dann zu Testzwecken in eineer Massage-Kiste anzeigen. So siehst Du bei komplexen Formeln am ehesten, ob das, was Du an Evaluate übergibst, auch in Formelsprache funktionieren kann.

HTH,
Bernhard
Titel: Re:Wert aus Mehrfachfeld löschen
Beitrag von: Glombi am 23.09.04 - 20:21:02
Es fehlt der berühmt berüchtigte Hauptausdruck  ;D

Also:

ret_eval = Evaluate( |FIELD containedScrReport:= @Trim(@Replace(containedScrReport; "| + keyReport(0) + |"; ""));@True|, docProduct)

Das sollte es tun!

Andreas
Titel: Re:Wert aus Mehrfachfeld löschen
Beitrag von: Glombi am 23.09.04 - 20:22:39
FIELD xxx :=
funktioniert auf jeden Fall schon mal nicht.
Hi Bernhard,
warum sollte das nicht gehen? Ich mache es oft so.

Andreas
Titel: Re:Wert aus Mehrfachfeld löschen
Beitrag von: koehlerbv am 23.09.04 - 20:48:24
Schande über mich !

Zur Strafe habe ich es auch gleich ausprobiert, und natürlich - genau so funktioniert es, Andreas !

Bernhard
Titel: Re:Wert aus Mehrfachfeld löschen
Beitrag von: fritandr am 23.09.04 - 22:06:47
Es fehlt der berühmt berüchtigte Hauptausdruck  ;D

Also:

ret_eval = Evaluate( |FIELD containedScrReport:= @Trim(@Replace(containedScrReport; "| + keyReport(0) + |"; ""));@True|, docProduct)

Hallo Andreas, Hallo Bernard,

danke für Eure Hilfe.
Andreas' Tipp mit dem fehlenden Hauptausdruck war mal wieder goldrichtig.

Jetzt funktioniert meine Formel. Kaum macht man's richtig ;D

Viele Grüße
Andreas