SnTT: Feststellen, ob das Design einer Datenbank verborgen ist

von Bernd Hort,
assono GmbH, Standort Hamburg,

Letztens musste ich herausfinden, ob das Design einer Datenbank Anwendung verborgen ist. Leider gibt es in LotusScript keine Eigenschaft, die man einfach abfragen könnte. Die Lösung, die schließlich funktioniert hat, setzt auf DXL.

Der Trick besteht darin, dass ein DXL-Export einer Datenbank Anwendung mit verborgenem Design nur die Basisinformationen über die Datenbank Anwendung aber keine Designelemente enthält. Anschließend muss man nur noch suchen, ob es einen Eintrag für eine Maske "<form>" gibt. Wenn kein Eintrag vorhanden ist, ist das Design wohl verborgen. (Abgesehen von Notes Datenbanken Anwendungen die keine Maske enthalten. Aber die kann man wohl vernachlässigen.)

Function isDesignHidden(db As NotesDatabase) As Boolean

On Error Goto err_handler

Dim session As New NotesSession
Dim DXLExporter As NotesDXLExporter
Dim ncl As NotesNoteCollection
Dim dxlOutput As String


'Input
Set ncl = db.CreateNoteCollection(False)
ncl.SelectForms = True
Call ncl.BuildCollection

Set DXLExporter = session.CreateDXLExporter
DXLExporter.ExitOnFirstFatalError = True
dxlOutput = DXLExporter.Export(ncl)

If Instr(1, dxlOutput, "<form", 1) <> 0 Then
isDesignHidden = False
Else
isDesignHidden = True
End If

Exit Function
err_handler:

Messagebox "Upps! There was an error." & Chr$(10) & Chr$(10) & _
"Procedure: " & Getthreadinfo(1) & Chr$(10) & _
"Error nr.: " & Cstr(Err) & " / Line: " & Cstr(Erl) & Chr$(10) & _
Error, 16, "Error"

Resume err_resume

err_resume:
End
End Function

Statt das DXL zu parsen, wird einfach mit Instr gesucht, ob der String "<form" vorhanden ist. Da mit dem DXL anschließend nicht weiter gearbeitet werden soll, ist dieses die schnellste Methode.

Fachbeitrag IBM Notes IBM Notes Traveler Tipp Entwicklung

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie wollen eine individuelle Lösung? Kontaktieren Sie uns

Weitere interessante Artikel

Sie haben Fragen? Wir sind für Sie da.

Wir verwenden Ihre Daten, um Sie einmalig per E-Mail zu kontaktieren. Wir geben Ihre Daten nicht an Dritte weiter. Siehe: Datenschutzhinweise
assono GmbH

Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223 Schwentinental

Standort Hamburg
assono GmbH
Bornkampsweg 58
22761 Hamburg

Telefonnummern:
Zentrale: +49 4307 900 407
Techn. Hotline: +49 4307 900 403
Vertrieb: +49 4307 900 402

E-Mail-Adressen:
kontakt@assono.de
bewerbung@assono.de