Autor Thema: Alle Ordner einer DB ausgeben  (Gelesen 1266 mal)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Alle Ordner einer DB ausgeben
« am: 11.11.09 - 11:44:54 »
Hallo Liebe Gemeinde,

ich musste gestern alle Ordner aus einer DB holen. Da es gestern schon spät war habe ich es folgendermaßen über die Propertie .Views gelöst.

Code
Forall views in db.Views
  If views.IsFolder then
                varFolder(Ubound(varFolder)) = Cstr(views.Name)
Redim Preserve varFolder(Ubound(varFolder) + 1)
  end if
End Forall

Das Problem war die Performance. Bei 12 ordner hat das ganze schon 20 Sekunden gedauert.

Gerade habe ich einen viel performanteren Weg gefunden.

Code
Set nColl = dbMailfile.CreateNoteCollection(False)
nColl.SelectFolders = True
Call nColl.BuildCollection
Dim strNoteID As String
Dim strName As String
Dim docNote As NotesDocument
strNoteID = nColl.GetFirstNoteId
Redim varFolder(0)
While Not strNoteID=""
Set docNote = dbMailFile.GetDocumentByID(strNoteID)
varFolder(Ubound(varFolder)) = Cstr(strName)
Redim Preserve varFolder(Ubound(varFolder) + 1)
strNoteID = nColl.GetNextNoteId(strNoteID)
Wend

Dieser braucht gefühlt unter einer Sekunde für das selbe Ergebnis

Ich hoffe ich konnte damit Jemanden weiterhelfen. Wenn nicht heute, dann vllt in ein paar Jahren
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Alle Ordner einer DB ausgeben
« Antwort #1 am: 25.11.09 - 13:59:10 »
Hmm ich habe hier ein Cache-Problem,

ich habe mal Ordner umbenannt und dann neue erstellt, aber mein Code zeigt mir noch die alten namen an. Die neu erstellten Ordner sind aber korrekt da.

Jemand ne Idee wie ich das abschalten kann.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz