Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 11.02.03 - 12:39:56
-
Hallo Leute,
Ich habe einen Ordner Private on first use, der aktualisiert werden soll,
d.h. aus 2 Ansichten sollen alle Dokumente mit Namen des Users in einem
bestimmten Feld in diesen Ordner kopiert werden.
Vom Vorlauf könnte er aber noch Dokumente haben, in denen sein Name drin stand, aber jetzt nicht mehr. Diese Dokumente möchte ich raus haben.
Ich habe das so gelöst, das der Ordner jedesmal gelöscht wird und dann
neu gefüllt.
Nun bekomme ich die Fehlermeldung
B-Structure is invalid
viewName = ORDNER_EIGENE_DOKUMENTE
If viewName = "" Then Exit Sub
Set view = db.GetView(viewName)
Call view.Remove
Nun bekomme ich die Fehlermeldung
B-Structure is invalid
Sagt das jemandem etwas ?
Ciao
Don Pasquale
Dim ws As New NotesUiWorkspace
Dim s As New NotesSession
Dim view As NotesView
Dim dc As NotesDocumentCollection
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim DocDelete As NotesDocument
Dim ORDNER_DOKS_NACH_INITIATOREN As String
Dim ORDNER_DOKS_NACH_SENDEN_AN As String
Dim ORDNER_EIGENE_DOKUMENTE As String
ORDNER_DOKS_NACH_INITIATOREN = "_Initiator"
ORDNER_DOKS_NACH_SENDEN_AN = "_Senden"
ORDNER_EIGENE_DOKUMENTE = "Eigene Dokumente"
Dim session As New NotesSession
Dim vc As NotesViewEntryCollection
Set db = s.CurrentDatabase
Set db = session.CurrentDatabase
viewName = ORDNER_EIGENE_DOKUMENTE
If viewName = "" Then Exit Sub
Set view = db.GetView(viewName)
Call view.Remove
Set db = session.CurrentDatabase
Set view = db.GetView(ORDNER_DOKS_NACH_INITIATOREN)
Set vc = view.GetAllEntriesByKey(session.CommonUserName,False)
Call vc.PutAllInFolder( ORDNER_EIGENE_DOKUMENTE, True)
Set view = db.GetView(ORDNER_DOKS_NACH_INITIATOREN)
Set vc = view.GetAllEntriesByKey(s.CommonUserName, False)
Call vc.PutAllInFolder( ORDNER_EIGENE_DOKUMENTE, True )
Set view = db.GetView(ORDNER_DOKS_NACH_SENDEN_AN)
Set vc = view.GetAllEntriesByKey(s.CommonUserName, False)
Call vc.PutAllInFolder(ORDNER_EIGENE_DOKUMENTE, True )
Set view = db.GetView( ORDNER_EIGENE_DOKUMENTE )
Call ws.ViewRefresh
-
Hi,
ich hab das mal gemacht. Hier ein Auszug aus meinem Code.
...
Dim session As New NotesSession
Dim view As NotesView
Dim vc As NotesViewEntryCollection
Dim foldername As String
foldername = "Recherche"
Set db = session.CurrentDatabase
Set view = db.GetView(foldername)
Set vc = view.AllEntries
Call vc.RemoveAllFromFolder(foldername) ' Entfernt alle Dokumente aus dem Ordner
...
Axel
-
@Axel,
:-)
Danke sehr.
Thema erledigt (Habe ich versucht anzuklicken, scheint in diesem Client nicht zu funktionieren)
Ciao
Don Pasquale
-
Ich muss auch private ordner löschen, aber alle in der DB
habe mir folgendes überlegt:
Dim se As NotesSession
Dim db As notesdatabase
Dim views As Variant
views = db.Views
Forall view In views
If view.isprivate Then
call view.remove()
End If
End Forall
das bringt mir aber den Fehler, das er einen index auf dem server nicht erstellen kann ???
-
Hi,
kann das sein, dass der/die Ordner nicht in der Datenbank selbst sondern auf dem Desktop abgelegt sind?
Axel
-
Oder kommt Notes evtl. mit dem Variant durcheinander ?
Versuchs mal so :
Dim se As NotesSession
Dim db As notesdatabase
Forall v In db.views
If v.isprivate Then
call v.remove()
End If
End Forall