Hi,
ich habe folgendes Problem:
Ich suche in einer Ansicht nach einem Suchbegriff. Wird ein Treffer gefunden, so wird ein Ordner angelegt und die Übereinstimmungs-Dokumente darin abgelegt.
Nachdem das abgearbeitet ist, will ich den gerade erstellten Ordner anzeigen. Das gelingt mir allerdings nicht. Ich bekomme immer die Fehlermeldung "Ansicht oder Navigator 'Ordnername' existiert nicht". Schliesse ich die Datenbank und öffne sie wieder, so wird der Ordner im linken Bereich auch angezeigt (vorher nicht). Angezeigt wird er auch, wenn ich das Neuen Ordner anlegen - Dialogfeld aufrufen und wieder abbreche.
Ich müsste eine Möglichkeit finden, die Datenbank zu aktualisieren, bevor ich den Ordner öffnen will.
Hier mein Quellcode:
' Variablendeklaration
Dim session As New notessession
Dim view As NotesView
Dim doc As NotesDocument
Dim intJ As Long
Dim strSuchbegriff As String, strOrdnerPfad As String
' Suchbegriff einlesen
strSuchbegriff = Inputbox("Suchbegriff", "Suche")
' Testen, ob ein Suchbegriff eingegeben wurde
If strSuchbegriff = "" Then
Exit Sub
End If
strOrdnerPfad = "(Default)\" + strSuchbegriff
' Ansichtsobjekt instanziieren
Set view = session.CurrentDatabase.GetView("UnternehmensAnzeige")
' Volltextsuche durchführen
intJ = view.FTSearch( strSuchbegriff, 0 )
If (intJ > 0) Then
' Erstes Trefferdokument der Suche auswählen
Set doc = view.GetFirstDocument()
' solange noch Trefferdokumente vorhanden sind
While Not(doc Is Nothing)
' In einen Ordner kopieren (wird angelegt, falls nicht vorhanden)
Call doc.PutInFolder( strOrdnerPfad, True )
Set doc = view.GetNextDocument(doc)
Wend
End If
' Suchliste wieder löschen
Call view.Clear
' !! Hier müsste meiner Meinung nach die Aktualisierung stattfinden !!!
' Deklaration der Frontend-Variablen
Dim ws As New NotesUIWorkspace
Dim uidb As NotesUIDatabase
' Falls Suche erfolgreich war
If (intJ > 0) Then
' UI-Datenbank die aktuelle DB zuweisen
Set uidb = ws.CurrentDatabase
' Gerade gefüllten Ordner öffnen
Call uidb.OpenView(strOrdnerPfad, , False)
Call ws.ViewRefresh()
End If
Ich hoffe, es fällt jemanden eine Lösung ein.
Im voraus schon mal vielen Dank
qp