Domino 9 und frühere Versionen > Entwicklung

Suchfunktion programmieren

(1/3) > >>

jr:
Hallo,

wenn ich die Volltextsuche manuell aktiviere, sortiert Notes die gefunden Dokumente nach Wichtigkeit in der aktuellen Ansicht. Kann man dies auch mit Lotus Script erreichen, dass die Ergebnisse eines Search oder FTSearch in der gleichen Ansicht angezeigt werden?

Für Tipps wäre ich dankbar.

JR

Axel:
Hi,

das geht nur, wenn du das Suchergebnis in einen Ordner packst.

Als Ergebnis bekommst du eine Collection zurück und diese kannst du mit der Methode PutAllInFolder in einen Ordner schieben. Allerdings solltest du den Odner vorher leeren.

Axel
 

jr:
Das mit dem Ordner habe ich schon gemacht. Da gibt es aber ein kleines Problem  ???:

Es muss ein privater Ordner sein, damit nicht das Ergebnis eines Benutzers das eines anderen Benutzer überschreibt. Mit "Gemeinsam, bei erster Nuztung persönlich" habe ich aber schlechte Erfahrung, weil die Funktion "db.GetView("xxx")" anscheinend willkürlich die persönliche Kopie oder den allgemeinen Ordner benutzt. Außerdem soll die Funktion auch für Leser der Datenbank funktionieren.

Hat jemand ein Lösungsvorschlag?

Axel:
Hi,

du musst dafür sorgen, dass der persönliche Ordner angelegt ist, bevor du mit db.GetView darauf zu greifst.

Auch als Leser kannst du persönliche Ordner erstellen. Du mußt nur den entsprechenden Haken in der ACL setzen.


Axel

jr:
Hallo Axel,

danke für Deine Hilfe. Ich habe das ja alles schon ausprobiert, aber es klappt einfach nicht. Auf einem Rechner arbeitet die Funktion einwandfrei, auf einem anderen Rechner versucht Notes auf den gemeinsamen Ordner zuzugreifen.

Ich habe hier mal den Code eingefügt. Der Ordner "folder_PrivateSearch" ist Gemeinsam, bei erster Nutzung persönlich.


If (ws.DialogBox("subform_Search", True, True, True, False, False, False, "Suchen", dialog, True, True)) Then
   Call ws.SetTargetFrame("frame_Main")
   Call ws.CurrentDatabase.OpenView("folder_PrivateSearch")
      
   Set docs = db.Search(dialog.s_Formula(0), Nothing, 0)
      
   ' Call db.GetView("folder_PrivateSearch").Remove... funktioniert nicht
   Call ws.CurrentView.View.AllEntries.RemoveAllFromFolder("folder_PrivateSearch")
   Call docs.PutAllInFolder("folder_PrivateSearch")
      
   Call profile.Save(False, False)
End If


Vielleicht fällt irgend jemandem ein grober Fehler meinerseits auf.

Danke,

Joachim

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln