Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Scotty67 am 07.05.10 - 10:30:16

Titel: db.search - die collection beinhält kein dokument
Beitrag von: Scotty67 am 07.05.10 - 10:30:16
 :(
Ich will eine DocumentCollection aufbauen - aber es landet dort einfach nix.
Ja schon aber nur dann wenn ich die variante 1 verwende - variante 2 bring nix !!!

Variante 1: searchFormula = {Form = "KundeKontakt"}
Variante 2: searchFormula = {Form = "KundeKontakt" & "FIELD KundenNummer=yy"}

Is da im Coding was falsch ?
Oder falsche Erwartungshaltung meinerseits ?


Sub Exiting(Source As Field)
   
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim searchdoc As NotesDocument
   Dim uidoc As NotesUIDocument
   
   Set uidoc = workspace.CurrentDocument
   Set doc=uidoc.document
   Set db=session.CurrentDatabase
   
   kundenkontakt=doc.getitemvalue("Kundenkontakt")
   kundennummer=doc.GetItemValue("KundenNummer")
   xx$=kundenkontakt(0)
   yy$=kundennummer(0)
   
   
   searchFormula = {Form = "KundeKontakt" & "FIELD KundenNummer=yy"}
   Set collection = db.Search(searchFormula, Nothing,0)
   Set searchdoc = collection.GetFirstDocument()
            
End Sub
Titel: Re: db.search - die collection beinhält kein dokument
Beitrag von: DerAndre am 07.05.10 - 10:45:32
Laß mal Field weg.
Titel: Re: db.search - die collection beinhält kein dokument
Beitrag von: Jan Grünklee am 07.05.10 - 10:55:57
Probier mal das hier:

searchFormula = {Form = "KundeKontakt" & KundenNummer="} & kundennummer(0) & {"}

in Deiner Formel würde nach KundenNummer=yy gesucht werden. So wie ich das aber verstehe willst Du ja nach dem Wert suchen, der in Kundennummer drin steht, oder?

Gruss Jan
Titel: Re: db.search - die collection beinhält kein dokument
Beitrag von: ascabg am 07.05.10 - 10:59:40
Hallo,

Dann sollte in seinem Code der folgene ebenfalls das gesuchte Ergebnis liefern.

Code
searchFormula = {Form = "KundeKontakt" & KundenNummer="} & yy & {"}


Andreas
Titel: Re: db.search - die collection beinhält kein dokument
Beitrag von: Jan Grünklee am 07.05.10 - 11:09:46
@Andreas: ja das sollte so sein. Allerdings würde ich garnicht erst xx und yy ins Spiel bringen. sondern stattdessen:

Code
Dim sKontakt as String
Dim sNummer as String

sKontakt = doc.getitemvalue("Kundenkontakt")(0)
sNummer = doc.GetItemValue("KundenNummer")(0)

und dann als Searchformel:

Code
searchFormula = {Form = "KundeKontakt" & KundenNummer="} & sKontakt & {"}

sind ein paar Zeilen weniger und aus meiner Sicht auch sauberer.

@Scotty67: Kleiner Tipp am Rande füg in Deine Skripte unter Options am besten immer Option Declare ein. Das hilft ungemein böse Überraschungen zu vermeiden. Infos wieso, weshalb, warum findest Du in der Hilfe.

Gruss Jan
Titel: Re: db.search - die collection beinhält kein dokument
Beitrag von: Scotty67 am 07.05.10 - 12:21:00
@JAN & ANDREAS !!  :-* ;)

ein virtuelles Bier soll Euch vergönnt sein !  DANKE hat super funktioniert !!!

Titel: Re: db.search - die collection beinhält kein dokument
Beitrag von: Jan Grünklee am 07.05.10 - 12:24:43
O´zapft is - na dann prost ^^