** EDIT **
Komplette Lösung siehe hier unter Best Practices:
Best Practices Folder References
Hi,
ich hab mich zu dem Thema "Wie finde ich heraus, in welchem Ordner Dokument XY liegt" mal etwas schlau gemacht und ein paar Scripts geschrieben.
Damit dies überhaupt klappt, müssen die folgenden Ordner der R5 Mailschablone in die jew. DB kopiert werden:
- $FolderRef
- $FolderRefInfo
Außerdem muss vorher ein db.FolderReferencesEnabled = True ausgeführt werden.
Per Default werden keinerleid Infos in den Dokumenten gespeichert!
Beispiel-Code:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
If db.FolderReferencesEnabled Then
If Messagebox ("Folder References are enabled." & Chr(10) & Chr(10) _
& "Do you want to disable the Folder References?" ,1 + 32,db.title) = 1 Then
db.FolderReferencesEnabled = False
Messagebox "Disabled Folder References now.....", 64, db.title
Else
Exit Sub
End If
Else
If Messagebox ("Folder References are disabled." & Chr(10) & Chr(10) _
& "Do you want to enable the Folder References?" ,1 + 32,db.title) = 1 Then
db.FolderReferencesEnabled = True
Messagebox "Enabeled Folder References now.....", 64, db.title
End If
End If
End Sub
Nachträglich Folder References erzeugenNun hat man ggf. das Problem, dass db.FolderReferencesEnabled nicht enabled wurde und eine DB (z.B. Mailfile) u.U. viele tausend Dokumente hat ohne jeder Referenz.
Da kann man dann folgenden Code nehmen, damit wird einfach jedes Dokument wieder in denselben Folder geschoben, und damit wird dann nachträglich eine Referenz erzeugt.
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim vec As NotesViewEntryCollection
Set db = session.CurrentDatabase
If Not Messagebox ("Do you really want to create references of all docs in all folders?" ,1 + 32,db.title) = 1 Then
Exit Sub
End If
Forall v In db.Views
If v.isFolder Then
Set vec = v.AllEntries
Call vec.PutAllInFolder( v.Name )
End If
End Forall
Messagebox "Folder References are created...", 64, db.title
End Sub
Ist erstmal ein erster Wurf, to be continued.....
TMC