Domino 9 und frühere Versionen > ND8: Entwicklung

evaluate liefert kein Ergebnis

(1/2) > >>

wittmann_franz:
Hallo zusammen,

stehe hier mächtig auf dem Schlauch und komme nicht weiter mit einem Script insbesondere evaluate

Const NotesMacro$ = {@DbLookup("" : "NoCache" ; "" : "" ; "(LookupArchivverwalternachArchivverwalter)"; _wert ; 2)}
Dim vEval As Variant
scode = doc.Abteilungscode(0)   
searchFormula = {(Form = "Akte") & (Abteilungscode = "} & scode & {")}
Set coll = db.Search(searchFormula, Nothing, 0)
Set dcdoc = coll.GetFirstDocument ()
      
While Not (dcdoc Is Nothing)
   vEval = Evaluate (NotesMacro$ , dcdoc)
   dcdoc.abtRegistratur = vEval
   Call dcdoc.Save(True,False)
   Set dcdoc = coll.GetNextDocument(dcdoc)
Wend      

Die Collection liefert Dokumente zurück, kann ich im Debugger nachvollziehen.
Es ist im Übrigen egal welche Fromel in der Constanten steht es wird kein Ergebnis auf die Variable vEval zurückgegeben.
Die Formel dblookup in einem berechneten Feld funktioniert ansonsten.
Es erscheint auch keinerlei Fehler bei Ausführung des Scriptes.

Vielen Dank für Eure Hilfe.

Server 8.5.2
Client 8.5.2

pram:
Evtl der auszulesende Feldname falsch angegeben?

Const NotesMacro$ = {@DbLookup("" : "NoCache" ; "" : "" ; "(LookupArchivverwalternachArchivverwalter)"; "_wert" ; 2)}

Gruß
Roland

wittmann_franz:
Hallo Roland,

vielen Dank, genau das wars. _wert ist natürlich eine Variable und nicht der Feldname.

Die Hilfe sagt, dass NotesMacros einen array zurückgeben und dieser nur 1 element enthält.
Bei mir sollte eigentlich auch mehrere Werte zurückgegeben werden, ist aber wie in der Hilfe beschrieben nicht so.
Es wird nur der erste Wert zurückgegeben.

Wie kann ich das ändern?

koehlerbv:

--- Zitat von: wittmann_franz am 23.05.12 - 12:14:39 ---Die Hilfe sagt, dass NotesMacros einen array zurückgeben und dieser nur 1 element enthält.

--- Ende Zitat ---
Wo liest Du das? Evaluate liefert ein Variant zurück, das durchaus ein Array mit n Elementen enthalten kann.

Bernhard

pram:
http://www-10.lotus.com/ldd/ddwiki.nsf/dx/dblookup-troubleshooting.htm

Ggf. ist es eine der folgenden Ursachen:

- When returning multiple values (as will occur if there are multiple documents matching your key), formula language returns them as a list. But a list can have only one datatype
- If the column is multivalued, but the column option to display multiple values in separate rows is not selected, you can only match the first value in a lookup.

(Außerdem gibt es noch einen Bug in Verbindung mit RETURNDOCUMENTUNIQUEID + Mehrfachwerten http://www-10.lotus.com/ldd/nd8forum.nsf/0/8f7fd6d8c8b308c085257603002956ca?OpenDocument)

Gruß
Roland

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln