Domino 9 und frühere Versionen > ND6: Entwicklung

Lotus Script Problem!

(1/3) > >>

mh70220:
Hallo zusammen,

ich habe mir ein Script geschrieben, welches alle Dokument aus meiner DB suchen soll, die einer Abteilung angehören und dann soll es bei allen Dokumenten ein Feld ändern. wenn ich es ausführe, dann bekomme ich immer die Fehlermeldung: Object variable not set.

Kann mal jemand drüber schauen und vielleicht den Fehler finden.

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim uidoc As NotesUIDocument
   Dim Teileinheit As String
   Dim Vorgesetzter As String
   
   Teileinheit = uidoc.FieldGetText("TEListe")
   Vorgesetzter = uidoc.FieldGetText("NeuerVorgesetzter")
   searchFormula$ = {Form = "PersView" & "PTeileinheit" = Teileinheit}
   
   Set db = session.CurrentDatabase
   Set collection = db.Search(searchFormula$, Nothing,0)
   Set doc = collection.GetFirstDocument()
   
   While Not(doc Is Nothing)
      Call doc.ReplaceItemValue("PVorgesetzter", Vorgesetzter)
      Call doc.Save( True, False )
      Set doc = collection.GetNextDocument(doc)
   Wend
   
End Sub

PTeileinheit ist das Feld in den Dokumenten welches gleich der Variable Teileinheit sein soll.

Matthias

DerAndre:
Ein Errorhandle wäre nicht schlecht, dann bekommst Du die Info wo es nicht klappt.

André

Thomas Schulte:
Warscheinlich bekommst du keine Collection bzw. eine Collection mit Count = 0 zurück. weil deine SearchFormula nicht stimmt. Die müsste vermutlich so lauten:
searchFormula$ = {Form = "PersView" & Pteileinheit = "} & teileinheit & {"}
Weil so wie du das geschrieben hast baut er nämlich ziemlichen Unsinn zusammen.

Aber wie wäre es wenn du einfach mal den Debugger einschaltest und dann etwas genauer hinschaust an welcher Stelle das hakt.

Untitled:
Hmm... ich sehe da keinen Fehler.

In welcher Zeile tritt die Meldung denn auf? Könnte es sein, dass er keine Dokumente findet und die Collection leer ist?

Tipp: Im Eigenschaftsfenster vom "Programmer's Pane" aktiviere das Häkchen "Automatically add <<Option Declare>>". Und füge diese Anweisung in diesem Script auch noch ein.

Dann musst du anschliessend "searchFormula" korrekt deklarieren und der Compiler macht dich auf vergessene Deklarationen aufmerksam.

Grüsse
Moritz

EDIT: In diesem Forum werden eindeutig zu viele Antworten zu schnell gegeben  ;D

animate:
http://atnotes.de/index.php?topic=11980.0

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln