Domino 9 und frühere Versionen > Entwicklung

Call dc.PutAllInFolder ohne Wirkung

(1/3) > >>

Don Pasquale:
Hallo Leute,
folgendes Skript funktiniert nicht mehr.
Es ist im OpenQueryEreignis eines Public, Private on First Use Qrdners


>Set dc = view.GetAllDocumentsByKey(s.CommonUserName, True)

Die Collection ist gefüllt, aber

>Call dc.PutAllInFolder(ORDNER_EIGENE_DOKUMENTE, createonfail )

hat keine Wirkung !!!

Wer kann mir helfen ?


   Dim ws As New NotesUiWorkspace
   Dim s As New NotesSession
   Dim view As NotesView
   Dim dc As NotesDocumentCollection
   Dim db As NotesDatabase
   
   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"
   
   ' Vielleicht sollte der Ordner vorher komplett geleert werden ?
   
   On Error Resume Next
   
   Set db = s.CurrentDatabase  
   Set view = db.GetView( ORDNER_EIGENE_DOKUMENTE )      
   Set dc = view.GetAllDocumentsByKey(s.CommonUserName, True)
   Call dc.RemoveAllFromFolder( ORDNER_EIGENE_DOKUMENTE )
   
   Set view = db.GetView(ORDNER_DOKS_NACH_INITIATOREN)      
   Set dc = view.GetAllDocumentsByKey(s.CommonUserName, True)
   Call dc.PutAllInFolder( ORDNER_EIGENE_DOKUMENTE, createonfail )
   
   Set view = db.GetView(ORDNER_DOKS_NACH_SENDEN_AN)      
   Set dc = view.GetAllDocumentsByKey(s.CommonUserName, True)
   Call dc.PutAllInFolder(ORDNER_EIGENE_DOKUMENTE, createonfail )
   
   Set view = db.GetView( ORDNER_EIGENE_DOKUMENTE )      
   Call ws.ViewRefresh

Rob Green:
simle Frage: wie hoch ist der Count der dc-Collection im Debugger?

Don Pasquale:
ca 55

Axel:
Hi,

andere dumme Frage, der Ordner ist als persönlicher Ordner vorhanden ?

Meines wissen gibt es Probleme mit dieser Funktion wenn der Ordner nicht angelegt ist. Auch wenn du den createonfail - Parameter angibst, legt er keine Ordner an.
Ausserdem mußt du True oder False angeben und nicht createonfail.


Axel
 

Rob Green:
und der Ordner heißt wirklich "Eigene Dokumente" und nicht anders, bzw es kommt keine Fehlermeldung, nix nada?

Don  ???

laut Help:
createonfail
Boolean. Optional. Specify True so that a folder will be created if it does not exist.

Usage
If a document is already inside the folder you specify, PutAllInFolder does nothing for that document. If you specify a path to a folder, and none of the folders exist, the method creates all of them for you.

also schon mal das evtl.

Beispiel aus Help, weil mich wundert, daß Du den Ordner mit db.getview initiierst...weiß nicht, aber möglicherweise liehgt es daran...machs mal so wie im Beispiel:

Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim vc As NotesViewEntryCollection
Set db = session.CurrentDatabase
Set view = db.GetView("By Category")
Set vc = view.GetAllEntriesByKey("Fox")
>>>Call vc.PutAllInFolder("Machines")<<<

und lass also mal das erste mit dem remove und dem initialisieren als db.getview weg. Nur ne Idee wie gesagt. Und Axels Hinweis war wichtig, könnte es sein.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln