Domino 9 und frühere Versionen > ND6: Entwicklung
Lotus Script Problem!
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