Hallo zusammen,
ich habe mal wieder einen komischen Effekt, den ich mir irgendwie nicht erklären kann.
Szenario: Ich bastel an einer Inventurdatenbank, mit der so ziemlich sämtliche Infos zu allen Datenbanken auf allen Servern gesammelt werden. Also gehe ich mit Hilfe des NotesDbDirectory-Objektes alle Datenbanken eines Servers durch. Auch solche, bei denen ich keinen Zugriff habe (das ist auch ok so). Zu allen Datenbanken werden noch zusätzliche Informationen in einer anderen Datenbank gesucht....
Nun zum eigentlichen Problemchen: Bei folgendem Code wird durch die Zeile "Set db2 = s.GetDatabase(s.CurrentDatabase.Server, "names.nsf", False)" das Objekt "db1" auf Nothing gesetzt. Dieser Effekt tritt nur bei Datenbanken auf, bei denen man keinen Zugriff hat. Zum Test habe ich mir eine Datenbank "noaccessdb.nsf" angelegt.
Dim db1 As NotesDatabase
Dim db2 As NotesDatabase
Dim dbdir As NotesDbDirectory
Dim s As NotesSession
Dim str_noaccessdb As String
Set s = New NotesSession
Set dbdir = New NotesDbDirectory(s.CurrentDatabase.Server)
str_noaccessdb = "noaccessdb.nsf" ' hier habe ich keinen Zugriff
Set db1 = dbdir.GetFirstDatabase(DATABASE)
Do Until db1 Is Nothing
If db1.FilePath = str_noaccessdb Then
If db1.IsOpen = False Then
On Error 4060 Resume Next
Call db1.Open(db1.Server, db1.FilePath)
If Err = 4060 Then
Print Error
Err = 0
End If
On Error Goto 0
End If
If db1 Is Nothing Then
Msgbox "db1 is nothing"
Else
Msgbox "db1 is NOT nothing"
End If
Set db2 = s.GetDatabase(s.CurrentDatabase.Server, "names.nsf", False)
If db1 Is Nothing Then
Msgbox "db1 is nothing"
Else
Msgbox "db1 is NOT nothing"
End If
End If
Set db1 = dbdir.GetNextDatabase
Loop
Dat is doch nich normal, oder?
Gruß
Johnson
PS: Ich nutze Notes 7.0.3 auf einer Windows XP SP3 Büchse