Hallo,
ich möchte, das in ein bestimmter Dokumententyp nur von der Rolle "Serverloesch" gelöscht werden darf. Bei allen anderen möchte die Löschung verhindern. Ich habe das Script, welches fett unterlegt ist, aus der Notes-Hilfe übernommen. An der Stelle (Meiner Meinung nach) die fett und rot unterlegt, bekomme ich bei der Ausführung die Fehlermeldung "Object Variable not set". Ich habe das ganze Script mehrfach Buchstabe für Buchstabe überprüft. Ich habe keinen Fehler gefunden. Kann mir hier jemand auf die Sprünge helfen.
Vielen Dank schon einmal im Voraus.
Danke Marshuhn
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim acl As NotesACL
Dim entry As NotesACLEntry
Set db = session.CurrentDatabase
Set acl = db.ACL
Dim collection As NotesDocumentCollection
Set collection = source.documents
Set note=collection.getfirstdocument
If Entry.IsRoleEnabled("[Serverloesch]" ) And note.Form(0) = "LogArchiv" Then
Messagebox "Sie dürfen Dokumente löschen"
Else
Messagebox "Sie dürfen keine Dokumente löschen. ", 0, "Fehler"
End If
If note.Form(0) = "Reservation" Then
Dim doc As notesdocument
Set doc=db.createdocument
Dim feld As notesitem
Set view=db.getview("LogFile")
doc.form="LogArchiv"
Set feld=doc.appenditemvalue("ArchivFeld", note.ResourceName)
Set feld=doc.appenditemvalue("UserFeld", session.CommonUserName)
Set feld=doc.appenditemvalue("DatumvonbisFeld", note.CalendarDateTime)
Set feld=doc.appenditemvalue("RaumFeld", note.ApptUNID)
Set feld=doc.appenditemvalue("LoeschDatum", Now)
Call doc.Save(True, False)
Exit Sub
End If
While Not note Is Nothing
If note.Form(0) = "Resource" Then
Messagebox "Um eine Ressource zu löschen, müssen Sie die Aktionsschaltfläche 'Ressource löschen' im Dokument verwenden.", 0, "Fehler"
Continue = False
Exit Sub
End If
If (note.Form(0) = "SiteProfile") Then
Server=source.database.server
note.server=server
RoomLookup=Evaluate (|@IsError(@DbLookup("":"NoCache";Server:"names.nsf";"($Rooms)";Site;1))|, note)
ResourceLookup=Evaluate (|@IsNotMember(Site;@DbColumn("":"NoCache";Server:"names.nsf";"($Resources)";2))|, note)
If(RoomLookup(0) = 0 Or ResourceLookup(0) = 0) Then
Messagebox "Dieses Standortprofil kann nicht gelöscht werden, da im Adreßbuch noch Ressourcen auf den Standort verweisen. Sie müssen zuerst diese Ressourcen löschen. Verwenden Sie dazu die Aktionsschaltfläche 'Ressource löschen' in den Ressource-Dokumenten.", 0, "Fehler"
Continue = False
Exit Sub
End If
End If
Set note=collection.getnextdocument(note)
Wend
Set w=New NotesUIWorkspace
End Sub