Domino 9 und frühere Versionen > ND8: Entwicklung

db.search - die collection beinhält kein dokument

(1/2) > >>

Scotty67:
 :(
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

DerAndre:
Laß mal Field weg.

Jan Grünklee:
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

ascabg:
Hallo,

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


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

--- Ende Code ---


Andreas

Jan Grünklee:
@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)
--- Ende Code ---

und dann als Searchformel:


--- Code: ---searchFormula = {Form = "KundeKontakt" & KundenNummer="} & sKontakt & {"}
--- Ende Code ---

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

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln