Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: alexB am 14.11.05 - 10:16:51
-
Ich habe hier eine Datenbank die schon etwas älter ist.
Einer meiner Vorgänger hat anscheinend irgendwann mal Profildokumente angelegt.
Jetzt möchte ich sämtliche Profildokumente in dieser Datenbank löschen, ohne deren Maskennamen zu kennen.
Geht das bzw. kann man das in das untere Script einbauen?
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Dim NDC As notesDocumentCollection
Set NDC = db.GetProfileDocCollection( "WeißIchNicht" )
Call NDC.RemoveAll (true)
-
Hallo,
ABÄR!!!!!
Bist du sicher das die Datenbank danach noch so funktioniert wie sie es bisher läuft?
-
Wenn Du den Namen des Profil nicht kennst, geht es so nicht. "WeißIchNicht" wird ja kaum der Name sein.
D.h. Du musst es anders machen,. Unbd zwar eine Collection über alle Dokumente der Datenbank erstellen und dann über alle Dokumente der Collection iterieren. Mit
notesDocument.IsProfile
abfragen, ob es ein Profil ist. Falls true, löschen.
Vorher aber das Nachfolgedokument setzen.
Andreas
-
@Glombi
Danke für die schnelle Antwort.
Das mit der DocCollection über alle Docs einer Datenbank hört sich interessant an, das werde ich mal testen.
Ein fertiges Tool/Script gibt es da nicht zufällig?
-
Hallo zusammen,
Nimm dein Script und ändere die Zeile ...
Set NDC = db.GetProfileDocCollection( "WeißIchNicht" )
... in ...
Set NDC = db.GetProfileDocCollection( )
Dann bekommst du alle Profildokumente der Datenbank.
Und jetzt hab ich da noch ´ne Frage:
Ich versuche seit geraumer Zeit die Brackpointprofile aus der Datenbank zu löschen.
Hat das jemand mal geschafft?
-
jo, allerdings nur mit nem 5er client.
Ein IBM call ergab, dass die profile ansonsten unter R6 nicht per Programmierung sondern im Debugger via "Clear all Breakpoints" ; ( gelöscht werden müssten...
-
UFFF!
Das sind doch personliche Profile, oder? Das Problem ist dabei, die sind z.T. von Usern, die nicht mehr hier sind. Das ist ja ein ziehmlich ... ungünstiger Workaround von IBM.
-
Vielen Dank!
Das funktioniert einwandfrei. Nochmal komplett:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Dim NDC As notesDocumentCollection
Set NDC = db.GetProfileDocCollection( )
Print "Anzahl gelöschter Dokumente: ", NDC.count
Call NDC.RemoveAll (True)