DANKE für die Informationen wegen ACL etc. ich werde das mal weiter verfolgen und im grossen und ganzen ist dieses Thema nun erledigt, deshalb stelle ich den thread mal auf erledigt
DANKE ud Gruss
W.
Beiträge von WladimirMlotek
-
-
Hallo Moderator,
DANKE für den CodeSnippet, RICHTIG der funktioniert auch bei mir bzw. ich komme auf das gleiche Ergebnis ABER - that's Notes - ich durchlaufe etwa 500 MailFile's, bei 3 MailFiles habe ich lt. ACL NoAccess und es wird brav der Errorhandler durchlaufen und dann - urplötzlich - gibt es einen Fehler, eine Messagebox poppt auf mit der MeldungUser XYZ cannot open Database SERVER!!mail\mailfile.nsf
und dann ist ENDE und es wird NICHT in den Errorhandler gesprungen.
Das betreffende MailFile (mail\mailfile.nsf) ist lt. ACL völlig identisch mit den anderen 497 MailFiles ....
Strange oder ....
Gruss
W. -
Hallo taurec,
leider klappt es nicht
bei
Set MailFile = New NotesDatabase( MailServer.Canonical, MailFilePath )
oder
Set MailFile = Session.GetDatabase( MailServer.Canonical, MailFilePath, False )
oder
Set MailFile = Session.GetDatabase( MailServer.Canonical, MailFilePath, True )erscheint immer
User XYZ cannot open Database SERVER!!mail\mailfile.nsfHast Du noch eine andere Idee?
-
JA, DANKE, es hat geholfen ...
Jetzt bleibt das Ding aber einfach stehen und springt NICHT in den Errorhandler bei unbekannten Fehlern != 4060 hinein.Der Errorhandler funktioniert bei MailFiles bei denen ich KEIN Zugriff (error 4060) habe ABER nun bleibt es bei einem MailFile einfach stehen mit der Meldung
User XYZ cannot open Database SERVER!!mail\mailfile.nsfFRAGE:
WIE kann ich denn das abfangen?
Hier ein Teil vom Code
Sub Initialize
On Error Goto ErrorHandlerSet PABDoc = Collection.GetFirstDocument()
While Not(PABDoc Is Nothing)
Set MailFile = New NotesDatabase( MailServer.Canonical, MailFilePath )
' hier bleibt er einfach stehen und eine Messagbox poppt auf ...
If MailFile.IsOpen Then
... ...
End If
NextDocument:
Set PABDoc = Collection.GetNextDocument(PABDoc)
Wend
Exit Sub
Errorhandler:
If Err = 4060 Then
Print "Error" & Str(Err)
Goto NextDocument
Else
Print "Unknown Error"
Exit Sub
End If
End Sub -
DANKE RockWilder!
Das wäre eine gute Sache ...
Weisst Du zufällig wie der ErrorCode heisst wennSub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Set db = s.GetDatabase("snapper", "names2")
If Not db.IsOpen Then
Messagebox "names2.nsf does not exist on snapper",, _
"No names2.nsf"
Else
Messagebox db.Title,, "Title of names2.nsf"
End If
End Suber in der Zeile Set db = s.GetDatabase("snapper", "names2") auf die Nase fällt bzw. wo finde ich den ...
hast Du einen CodeSnippet für einen Errorhandlerwarsn
Das war auch meine Idee aber das wird jetzt die Notlösung weil die Errorhandler-geschichte wäre eleganter
DANKE und gruss
W. -
Hallo Forumsmitglieder,
folgende Problematik:
ich muss MailFiles durchlaufen und (fast) alle MailFiles sind offen, dass öffentliche Dokumente (Kalendereinträge) gelesen werden dürfen aber manche MailFiles sind über die ACL so gesteuert, dass es nur für den Eigentümer zugänglich ist (die der Chefs :-)).Gibt es denn eine Möglichkeit das wenn man das Mailfile öffnet bzw. versucht zu öffnen irgendwie ein Flag zurückkommt mit dem Hinweis
JA, die Datenbank existiert ABER Du darfst Sie nicht öffnen....Die Befehle
OpenByReplicaID
OpenIfModified
OpenMail
OpenWithFailoveroder
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Set db = s.GetDatabase("snapper", "names2")
If Not db.IsOpen Then
Messagebox "names2.nsf does not exist on snapper",, _
"No names2.nsf"
Else
Messagebox db.Title,, "Title of names2.nsf"
End If
End Subgehen immer davon aus, dass man das Recht hat die Db zu öffnen aber das habe ich in diesem Fall definitiv nicht!
Kennt da jemand einen WorkAround, das ich über die Db's bei denen ich kein Zugriffsrecht habe eifach drüberlaufen kann.
Einen Errorhandler habe ich bereits eingebaut und On Error resume next zieht ebenfalls nichtDANKE und gruss
W.