Autor Thema: Volltextsuche in einer View  (Gelesen 3350 mal)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Volltextsuche in einer View
« am: 17.12.07 - 12:06:31 »
Hallo liebe Gemeinde,

Habe folgende Herausforderung.

Ich habe eine Maske gebaut die als DialogBox aufgerufen wird und am Ende einen String zurück gibt (Konnte ich per eigener Suche im Forum lösen( Das wird ein guter Tag)), aber dann scheitert es an einer Sache, nämlich der Volltextsuche in der View.

Ich setze folgenden Query ab

"[AdrOrganization] contains  accept"

Wenn ich das auf die DB laufen lasse bekomme ich die Gewünschten Dokumente zurück, bei der View bleiben alle Dokumente erhalten obwohl gerade mal 5 gefunden werden, ist denn der Query für eine FTsearch auf eine DB anders als auf eine View ?

Robert Kreutzer

Anwendungsentwicklung

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

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Volltextsuche in einer View
« Antwort #1 am: 17.12.07 - 12:42:53 »
... ist denn der Query für eine FTsearch auf eine DB anders als auf eine View ?

Ja. Wenn du einen FTSearch auf eine DB loslässt, dann werden alle Dokumente in der Datenbank berücksichtigt. Bei einer Suche auf eine View nur die Dokumente die der Select-Formel der Ansicht entsprechen.



Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Volltextsuche in einer View
« Antwort #2 am: 17.12.07 - 12:45:53 »
@Axel:

Hilft mir aber leider nicht weiter,


habe dann mal diesen Code probiert, aber abwohl die Firma in der View ist findet er sie nicht


Code
	Dim ws As New NotesUIWorkspace
	Dim view As NotesView
	
	Set view = ws.CurrentView.View
	Call view.FTSearch("accept")
	

Wieso , weshalb, warum ?
Robert Kreutzer

Anwendungsentwicklung

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

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Volltextsuche in einer View
« Antwort #3 am: 17.12.07 - 12:52:29 »
Dein Suchstring stimmt so nicht.

Call view.FTSearch("[AdrOrganization] contains accept")


So müsste es gehen.


Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Volltextsuche in einer View
« Antwort #4 am: 17.12.07 - 13:01:12 »
hmmm ich weiss nicht irgendwie sieht dein Vorschlag so aus wie meiner im 1. Post, oder übersehe ich da was ???
Robert Kreutzer

Anwendungsentwicklung

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

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Volltextsuche in einer View
« Antwort #5 am: 17.12.07 - 13:12:07 »
Ich habe das mal probiert. Das funktioniert auch, wenn du nur den Suchwert angibst. Ich war da auf dem falschen Dampfer. Ich habe diese FTSearch-Variante noch nie eingesetzt.

Aber du fällst hier in die Frontend-/Backendfalle. D.h. du löst die Suche im Backend aus, das Frontend bekommt aber nichts mit davon. Das wird so nicht funktionieren.

Was hast du denn vor? Vielleicht finden wir eine andere Lösung.


Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Volltextsuche in einer View
« Antwort #6 am: 17.12.07 - 13:15:04 »
Ja vor habe ich folgendes,


1. Benutzer drückt einen Suchknopf

2. Benutzer füllt Maske aus

3. Die View in der er der USer sich befindet wir dahingehend gefiltert, also nur die Ergebnisse bleiben stehen.
Robert Kreutzer

Anwendungsentwicklung

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

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Volltextsuche in einer View
« Antwort #7 am: 17.12.07 - 13:22:41 »
Yoo, dann bleibt dir nur der Umweg über einen Ordner.

D.h. der User füllt die Suchmaske aus, dann wird ein FTSearch über die Datenbank gemacht (denn nur die liefert die eine NotesDocumentCollection mit den gefundenen Dokumenten zurück) und die packst du dann mit NotesDocumentCollection.PutAllInFolder in einen Ordner.

Dabei ist zu beachten, dass es ein persönlicher Ordner sein sollte, da sich sonst die einzelnen User ins Gehege kommen und dass der Ordner vor eine neuen Such geleert werden muss. Sonst wird das Ergebnis verfälscht.


Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Volltextsuche in einer View
« Antwort #8 am: 17.12.07 - 13:34:45 »
Hmmm kannst du mir bitte ne Schnellanleitung geben,


Code
	Dim session As New NotesSession	
	Dim docColl As NotesDocumentCollection
	
	Dim folderName As String
	
	
	folderName = {persFolderOf}+  session.UserName
	
	Call AdrDB.EnableFolder(folderName)
	
	Set docColl = AdrDB.FTSearch(Query,0)
	Call docColl.PutAllInFolder(folderName)



WIe gehts dann weiter , ich will dass der Folder dann gleich geöffnet wird
Robert Kreutzer

Anwendungsentwicklung

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

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Volltextsuche in einer View
« Antwort #9 am: 17.12.07 - 13:50:50 »
Einen Ordner mit Script zu öffnen ist nicht so ohne weiteres möglich.

Du kannst es mit

Call notesUIWorkspace.OpenDatabase( server$, file$, view$, key$, newInstance, temp )

mit den entsprechenden Parametern versuchen. Im Parameter view$ gibst du dann den Namen des Ordners an.

Noch ein Fallstrick über den du mit Sicherheit fällst is diese Zeile

Call AdrDB.EnableFolder(folderName)

Damit wird der Ordner aber nicht automatisch angelegt, wenn er nicht vorhanden ist. D.h. du musst selbst dafür sorgen, dass der Ordner vor der ersten Verwendung angelegt wird. Und genau an diesem Punkt habe ich schon Tage zugebracht und meine Haare sind um einiges grauer geworden.

Mein Lösungsweg sieht inzwischen so aus:

Im Database-Script (PostOpen-Event) habe ich zwei Formelzeilen drin


@Command([OpenView]; "(Suchergebnis)");
@Command([FileCloseWindow]);


Damit wird beim Öffnen der DB der Ordner kurz geöffnet und wieder geschlossen. Existiert er nicht wird er angelegt. Du musst natürlich in deiner Gestaltung einen SPOFU(Gemeinsam, privat bei Erstbenutzung)-Ordner angelegt haben.

Wenn der User eine Suche machen will, öffnet er den Ordner und führt seine Suche über eine Aktion aus der Aktionsleiste aus.

Diesen Weg habe ich bereits in mehreren DBs im Einsatz und bislang funktioniert das Ganze ohne Probleme.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Volltextsuche in einer View
« Antwort #10 am: 17.12.07 - 14:09:25 »
Hmm Bei DB.EnableFolder steht doch aber beschrieben dass er den Ordner anlegt wenn nicht vorhanden ???

Die Lügen,


Aber ich gehe nun auf Doppelt sicher , habe beim PutallInFodler das Flag auch noch mitgegeben.
Robert Kreutzer

Anwendungsentwicklung

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

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Volltextsuche in einer View
« Antwort #11 am: 17.12.07 - 14:14:09 »
Hmm Bei DB.EnableFolder steht doch aber beschrieben dass er den Ordner anlegt wenn nicht vorhanden ???

Die Lügen,

Du darfst eben nicht alles glauben was in der Hilfe steht.   ;)

Hier war vielleicht der Wunsch der Vater des Gedankens.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Volltextsuche in einer View
« Antwort #12 am: 17.12.07 - 14:25:41 »
Gut dann bitte noch schnell den Tip wie ich einen persönlichen Folder erstelle
Robert Kreutzer

Anwendungsentwicklung

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

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Volltextsuche in einer View
« Antwort #13 am: 17.12.07 - 14:29:16 »
Gut dann bitte noch schnell den Tip wie ich einen persönlichen Folder erstelle

Du gehst im Designer unter Ordner, legst einen neuen Ordner an und stellst als Typ "Gemeinsam, privat bei Erstbenutzung" ein. Der Rest ist Designarbeit wie bei den Ansichten.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz