How to access a database in lotus script via NotesDatabase object without opening the database (avoiding No Accessfailure) for getting the replica ID???
How to access a database in lotus script via NotesDatabase
object without opening the database (avoiding No
Accessfailure) for getting the replica ID???
ich verstehe Dein Problem nicht so ganz. Du möchtest die Replik-ID einer Notes-Datenbank erhalten. Dabei kann es vorkommen, dass die Datenbank nicht existiert oder Du keinen Zugriff darauf hast.
Ein kleines Button-Script dazu:
Sub Click(Source As Button)
Const KeinDBZugriffFehler = 4060
On Error Goto Fehlerbehandlung
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim db As New NotesDatabase("", "")
Set uidoc = uiws.CurrentDocument
If db.Open(uidoc.FieldGetText("Server"), uidoc.FieldGetText("Name")) Then
' Alles in Ordnung, weitermachen...
Call uidoc.FieldSetText("Ergebnis", "Datenbank " & db.Title & " erfolgreich geöffnet")
Call uidoc.FieldSetText("ReplicaID", db.ReplicaID)
Else
' Uups, Fehler, macht auch nichts :smile:
Call uidoc.FieldSetText("Ergebnis", "Fehler beim Öffnen der Datenbank")
End If
End
Fehlerbehandlung:
If Err = KeinDBZugriffFehler Then
' Uups, kein Zugriff, Admin bestechen :wink:
Call uidoc.FieldSetText("Ergebnis", "Fehler beim Öffnen der Datenbank: Sie haben keinen Zugriff auf diese Datenbank")
End If
Print "Fehler(" & Err & "): " & Error$
Exit Sub
End Sub
Gegeben sei eine Maske mit den Eingabe-Textfeldern Server, Name, Ergebnis und ReplicaID und ein Button mit diesem Script.
Das Script verliert an keiner Stelle die Kontrolle und reagiert entsprechend, wenn Du keinen Zugriff auf die Datenbank hast.
Sowas lässt sich natürlich auch andere Script einbauen, z. B. Agenten, die über das DatabaseDirectory laufen.