Eine Funktion !
wichtig bei den Werten, welche Du der Funktion übergibst,
entweder Server und ReplicaID oder Server und Datenbankname, aber ich denke mit etwas Übung blickst Du schnell Durch wie diese Function funkt - diese funktion liefert immer eine NotesDatabase zurück, so tritt der Fehler "ObjectVariable not set" nicht auf !
Function OpenDatabaseInBackendAgent(iServer As String, iDBName As String, iDBReplicaID As String)
Dim xSession As New NotesSession
Dim xdb As NotesDatabase
Dim xdb2 As New NotesDatabase("" , "")
On Error Goto OpenDatabaseInBackendErrorHandle
Set xdb = xSession.CurrentDatabase
If iDBReplicaID = "" Then
If xdb2.Open( iServer , iDBName ) Then
Set OpenDatabaseInBackendAgent = xdb2
Print "OpenDatabaseInBackendAgent: " & xdb2.Title & " -DB was opened by Server-/Filename"
Else
Print "CouldNotOpenDB"
Set OpenDatabaseInBackendAgent = New NotesDatabase("","")
Exit Function
End If
Elseif Not iDBReplicaID = "" Then
'Eliminate the " : " in ReplicaID
If Not Instr(1 , iDBReplicaID , ":") = 0 Then
iDBReplicaID = Left(iDBReplicaID , Instr(1 , iDBReplicaID , ":") - 1 ) & Right(iDBReplicaID , Instr(1 , iDBReplicaID , ":") - 1 )
End If
iServer = xdb.Server
'Open Database
If xdb2.OpenByReplicaID( iServer , iDBReplicaID ) Then
Set OpenDatabaseInBackendAgent = xdb2
Print "OpenDatabaseInBackendAgent: " & xdb2.Title & " -DB was opened by ReplicaID"
Else
Print "CouldNotOpenDB"
Set OpenDatabaseInBackendAgent = New NotesDatabase("","")
Exit Function
End If
Else
Print "CouldNotOpenDB"
Set OpenDatabaseInBackendAgent = New NotesDatabase("","")
End If
Exit Function
OpenDatabaseInBackendErrorHandle:
Print "CouldNotOpenDB"
Set OpenDatabaseInBackendAgent = New NotesDatabase("","")
Exit Function
End Function