Toon posts:

[Domino Designer 5]Agent wil geen resultaat spuien

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een Lotus Notes project, een website op een document-georienteerde database. Hierin heb een zoekfunctie zitten die gebruik maakt van een agent. Deze agent gaat de ingevulde velden uit een HTML-form lezen, en deze velden gebruiken om documents van een View te selecteren. De code ziet er uit als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub Initialize
    Dim session As New NotesSession
    Dim doc As NotesDocument
    Dim doc2 As NotesDocument
    Dim db As NotesDatabase
    Dim dc As NotesDocumentCollection
    Dim view As NotesView
    Dim naam(1 To 7) As String
    Dim naam2 As String
    Dim id As String
    Set db = session.CurrentDatabase
    Set doc = session.DocumentContext
    naam(1)=""
    naam(2)=""
    naam(3)=Cstr(doc.zoekfunctie_merk(0))
    naam(4)=""
    naam(5)=""
    naam(6)=""
    naam(7)=""
    Print naam(3)
    Set view = db.getView("Cars")
    Set dc = view.GetAllDocumentsByKey(naam, False)
    If dc.Count=0 Then
        Print {Geen resultaat !}
        Exit Sub
    End If
    For j=1 To dc.count
        Set doc2=dc.GetNthDocument(j)
        id=doc2.UniversalID
        naam2=Cstr(doc2.atoevoegen_merk)
        Print naam2
    Next
End Sub

Nou is mijn probleem als volgt: Op de een of andere manier krijg ik nooit een resultaat als de functie GetAllDocumentsByKey wordt uitgevoerd. Ik weet zeker dat er documents zijn, en dat de waarden waarop gezocht wordt matcht. Ook weet ik dat de variabele goed uit de Form wordt gelezen. De dc.Count is echter altijd 0. Heeft iemand een verklaring voor mijn probleem?

[ Voor 8% gewijzigd door Verwijderd op 18-06-2003 15:32 ]


  • kasper_vk
  • Registratie: Augustus 2002
  • Laatst online: 08-04-2025
Ik heb het vermoeden dat je een view hebt (Cars), welke is gesorteerd op 7 kolommen, en je wilt alle documenten die in de 3e kolom (en alleen in die kolom) overeenkomen met je zoeksleutel.

Klopt dat? Ik hoop het niet, want dat kan namelijk niet met Notes. Je kunt echt alleen maar zoeken op basis van de eerste N kolommen, niet op basis van de N-de kolom. Verder moet de view gesorteerd zijn op de kolommen waarop je zoekt.

The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny...'


  • kasper_vk
  • Registratie: Augustus 2002
  • Laatst online: 08-04-2025
offtopic:
Overigens, je loopt door de document collection m.b.v. getNthDocument(). Dat is echt heeeel traag, je kan dat beter doen met behulp van
Set doc2 = view.getFirstDocument() (initialisatie)
en daarna steeds
Set doc2 = view.getNextDocuemnt( doc2 ).

The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny...'


  • Xanion
  • Registratie: Augustus 2001
  • Laatst online: 03-08 20:18
kasper_vk schreef op 18 juni 2003 @ 16:44:
Ik heb het vermoeden dat je een view hebt (Cars), welke is gesorteerd op 7 kolommen, en je wilt alle documenten die in de 3e kolom (en alleen in die kolom) overeenkomen met je zoeksleutel.

Klopt dat? Ik hoop het niet, want dat kan namelijk niet met Notes. Je kunt echt alleen maar zoeken op basis van de eerste N kolommen, niet op basis van de N-de kolom. Verder moet de view gesorteerd zijn op de kolommen waarop je zoekt.
Klopt helemaal wat je hier zegt. De eerste 2 velden van de array zijn leeg en de derde is gevuld. Het zoeken gaat hierdoor fout. Wat je dan beter kunt doen, is een extra view aanmaken waarin de informatie waar je op wilt zoeken in de eerste kolom staat. Dan zal Notes wel je gegevens vinden.

There are 10 types of people in the world: Those who understand binary, and those who don't. .