Autor Thema: db.Search funktioniert nicht so richtig  (Gelesen 2251 mal)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
db.Search funktioniert nicht so richtig
« am: 07.08.02 - 11:42:23 »
Hi Leute!
Bei mir liefert Notes eine leere Collection zurück. Das Script ist in einer Schaltfläche eines Antwortdokumentes drin.

Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim uidoc As NotesUIDocument
Dim db As NotesDatabase
Dim coll As NotesDocumentCollection      
Dim s As String
Dim doc As NotesDocument
Dim parentUNID As String

Set uidoc = ws.CurrentDocument
Set db = session.CurrentDatabase
Set doc = uidoc.Document
parentUNID = doc.ParentDocumentUNID
s = {$Ref = "} + ParentUNID + {"}
Set coll = db.Search( s,Nothing,0 )

Theoretisch sollten in der coll alle Antworten des Hauptdokumentes stehen. Tun sie aber nicht :-/
Hat jemand eine Ahnung, warum dem so ist?

-rar
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
†090620141300

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: db.Search funktioniert nicht so richtig
« Antwort #1 am: 07.08.02 - 12:09:30 »
Hi,

mach es doch über die Eigenschaft Responses der NotesDocument-Klasse.

...
Dim parantdoc As NotesDocument

Set db = session.CurrentDatabase
Set doc = uidoc.Document
Set parentdoc = db.GetDocumentByUNID(doc.ParentDocumentUNID )

Set coll = parentdoc.Responses
...


Ist, denk ich mal einfacher und sollte auch funktionieren.


Axel

« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: db.Search funktioniert nicht so richtig
« Antwort #2 am: 07.08.02 - 12:31:00 »
Das geht nicht so einfach.
Es ist ein ähnliches Problem wie das JaNein-Problem von hmarco
(http://www.atnotes.de/cgi-bin/yabb/YaBB.pl?board=002-2;action=display;num=1028638014)

Nur schaut es bei mir so aus:
Viele, viele Antwortdokumente, die aber alle Leserfelder drin haben. Jetzt gibt es ein Verantwortlichen für nur ein Antwortdoc, der auch nur seine Antwort sieht.
Wenn er dann sein Status auf erledigt setzt, soll im Hauptdoc der Status dann auf erledigt gesetzt werden, wenn alle Antworten erledigt sind.
Da der Verantwortliche aber nur ein doc sieht, stehen in den Responses zwar alle Antworten des Hauptdocs drin, aber die Items sind leer. Deshalb kann ich auch nicht abfragen, ob ein doc nicht erledigt ist.

Jetzt dachte ich mir, daß ich mit einem Search alle Antwortdokumente hole in denen der Status nicht erledigt ist. Wenn er keines findet, kann ich den Status im Hauptdoc ändern. Ob in der collection vom Search die Antworten als leere docs sind (wie bei doc.Responses) , ist mit dann wurscht.

Ist ein bischen komisch, aber mir fällt nichts anderes ein. Ich bin mir nicht einmal sicher, ob das überhaupt klappt. :-/
-rar
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
†090620141300

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: db.Search funktioniert nicht so richtig
« Antwort #3 am: 07.08.02 - 12:44:06 »
Hi,

könnte sein das es nicht klappt, denn wenn mit doc.Responses die Felder leer sind, dann kann auch search nichts finden. Denn es liest ja die Feldinhalte.

Wäre eine Erklärung, denn dein Script sieht ok aus.

Alternativ fällt mir dazu nur ein getriggerter Agent ein, der auf dem Server läuft und die Statusfelder prüft.


Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: db.Search funktioniert nicht so richtig
« Antwort #4 am: 07.08.02 - 12:52:55 »
An den Agent habe ich auch schon gedacht. Gefällt mir zwar nicht, aber wenn nix geht, wird es das werden.
Ich möchte es vorher aber auf jeden fall mit dem Search noch probieren.
Leider findet das Scriptl in einer TestDb ohne Leserfelder auch keine Antworten. Und ich weiß nicht warum... :'(
-dani
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
†090620141300

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: db.Search funktioniert nicht so richtig
« Antwort #5 am: 07.08.02 - 13:12:08 »
Hi,

kann es sein, dass es am Suchstring liegt ? Versuch mal nach einem anderen x-beliebigen Feld zu suchen, aber keins, das mit $ beginnt. Vielleicht stört in das.


Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: db.Search funktioniert nicht so richtig
« Antwort #6 am: 07.08.02 - 13:19:13 »
Soweit bich ich auch schon gekommen. Nach der Form und so suchen geht.
Gibt es eine Möglichleit das $ irgendwie zu maskieren? Mit " oder \ oder so?
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
†090620141300

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: db.Search funktioniert nicht so richtig
« Antwort #7 am: 07.08.02 - 13:31:51 »
Hi,

versuch's mal mit $$Ref


Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: db.Search funktioniert nicht so richtig
« Antwort #8 am: 07.08.02 - 13:57:20 »
Auch das geht leider nicht... :'(
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
†090620141300

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: db.Search funktioniert nicht so richtig
« Antwort #9 am: 07.08.02 - 14:24:11 »
Hi,

probiers mal mit dieser Variante:

...
s = {@Contains($Ref; "} + ParentUNID + {")}
Set coll = db.Search( s,Nothing,0 )
...

Axel


« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline gulp

  • Frischling
  • *
  • Beiträge: 24
  • Geschlecht: Weiblich
Re: db.Search funktioniert nicht so richtig
« Antwort #10 am: 07.08.02 - 14:33:40 »
Hi,

das Problem ist, daß Dokumente mit Leserfeldern mit search nicht gefunden werden können. Eine Möglichkeit wäre aber, über eine Ansicht zu arbeiten, die in einer Spalte, die Anzahl der Antwortdokumente anzeigt (diese Zahl zählt auch jene Dokumente mit, die man nicht lesen darf). Mit der richtigen Ansichtsauswahl kannst du zu den Informationen, die du brauchst, gelangen. Mit den Klassen NotesOutline bzw. NotesOutlineEntry kannst du die Zeilen in der Ansicht lesen.

Ciao
gulp
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz