Domino 9 und frühere Versionen > ND8: Entwicklung
Fehlermeldung bei ReplaceItemValue
mgeidl:
Hallo!
Kann mir bitte jemand einen Tipp geben?
Ich hab eine Personalanforderungs-DB in der u.a. Auflösungen (Kündigungen) durch einen Workflow laufen. Dazu gibt´s Mitarbeiterdokumente, in denen alle MA-Daten drinnen sind, u.a., ob der MA aktiv oder inaktiv ist.
Sobald nun eine Auflösung genehmigt wird, wird der MA gesucht und das Kennzeichen (M_KZ) auf inaktiv gesetzt. Hab unten den code gepostet. In der Zeile, in der der Status ersetzt werden soll, bekomm ich die Fehlermeldung "Object variable not set". Bitte um Hilfe - Danke
Sub Click(Source As Button)
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Dim currdoc As NotesUIDocument
Dim collection As NotesDocumentCollection
Dim db As NotesDatabase
Dim maname As String
Dim mailto As String
Set currdoc= ws.CurrentDocument
maname = currdoc.FieldGetText("MA_name")
searchFormula$ = "select Form = 'Mitarbeiter' & M_Name = '"+maname+"' "
Set db = session.CurrentDatabase
Set collection = db.Search(searchFormula$, Nothing,0)
Set doc = collection.GetFirstDocument
Call doc.ReplaceItemValue("M_KZ","inaktiv" )
Call doc.Save( True, False )
Call currdoc.FieldSetText("Status","genehmigt")
Call currdoc.FieldSetText("view_status","abgeschlossen")
Call currdoc.FieldSetText("K_gen_am",Cstr(Today))
Call currdoc.FieldSetText("K_gen_von",session.UserName)
mailto=currdoc.FieldGetText("Mail_HR")
Call sendmail(mailto,"Kündigungsantrag","Antrag wurde genehmigt! ", False)
Call currdoc.Refresh
Call currdoc.Save
Call currdoc.Close
End Sub
LG
Marietta
klaussal:
--- Zitat ---Set doc = collection.GetFirstDocument
--- Ende Zitat ---
Ist überhaupt ein Dok in der Collection ?
Da fehlt grundsätzlich eine Fehlerbehandlung !!
Glombi:
Die Searchformel ist falsch, daher ist die Collection leer und doc also Nothing.
Versuch mal folgende Formel:
searchFormula$ = |Form = "Mitarbeiter" & M_Name = "| +maname + |"|
...
Set doc = collection.GetFirstDocument
if doc is nothing then
msgbox "Kein Dokument gefunden",0+16,"Abbruch"
exit sub
end if
ascabg:
Hallo,
Das Dein Script durch einen Button ausgeloest wiwrd ist klar.
Dennoch meine Frage.
Wo befindet sich der betreffende Button?
(wird er angeklickt, wenn ein Dokument geoeffnet ist, oder aus einer Ansicht heraus)
Andreas
mgeidl:
danke mal an alle für die antworten.
Die Aktion wird aus einem geöffneten Dokument ausgeführt.
Normal sollte er ein Dokument finden, weil in der Maske oben über einen Button ein Mitarbeiter ausgewählt wird. Also liegt´s an der Search-Formel :-(
Hab die jetzt so eingetragen - und jetzt kommt die Fehlermeldung :-(
Mir ist nicht ganz klar, wofür die | stehen?
LG
Marietta
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln