2017-03-21 2 views
0

Initialement, mon problème était que je recevais un dépassement de capacité car la longueur de la valeur dans les deux premiers champs (ID) était plus longue, et à l'époque j'utilisais Clng (long). Je devais le changer en Cstr (string).Obtention d'un nombre nul pour Notesdocumentcollection

J'ai également mis à jour les deux premières colonnes dans la vue @Text (fieldname), et il est toujours trié par ordre croissant.

J'ai 4 clés, dont les deux premières sont de la forme parent (mais je l'ai fait aussi disponible dans la boîte de dialogue), les troisième et quatrième clés proviennent du formulaire de boîte de dialogue.

extrait de code

se trouve ci-dessous:

Set lookupdb = session.GetDatabase(lserver$,ldb$) 
Set lookupview = lookupdb.GetView(lview$) 

Set dateRange = session.CreateDateRange() 
Set dateRange.StartDateTime = dateTime1 
Set dateRange.EndDateTime = dateTime2 

'Variant because of the daterange in keys (4) 
Dim keys(1 To 4) As Variant 

keys(1) = Cstr(uidoc.FieldGetText("FirstID")) 
keys(2) = Cstr(uidoc.FieldGetText("SecondID")) 
keys(3) = Trim(uidoc.FieldGetText("Station")) 
Set keys(4) = daterange 

'Test. This has output. For daterange I used .text so I can see output. 
Msgbox keys(1) 
Msgbox keys (2) 
Msgbox keys (3) 
Msgbox daterange.text 

Set lookupcoll = lookupview.GetAllDocumentsByKey(keys,True) 
If lookupcoll.Count <> 0 Then 
    Print "Criteria Selection Count : " + Cstr(lookupcoll.count) 
    Set lookupdoc = lookupcoll.GetFirstDocument 
    ctr = 0 
    Do While Not lookupdoc Is Nothing 
     <code here> 
    Loop 

    Print "Ended : " + Now() 


Else 
    Messagebox "No Document Retrieved." 
End If 

Exit Sub 

Je reçois le « No document Récupéré » et quand je l'ai vérifié documentcollection, il a 0 en elle.

S'il vous plaît laissez-moi savoir pourquoi je reçois null. Merci beaucoup.

+1

Salut, avez-vous essayé vos touches avec la base 0 au lieu de base 1 dim touches (0 à 3) et en ce qui concerne les notes d'aide. keys est une chaîne ou un tableau de chaînes, pas une variante. donc daterange peut être inapproprié – umeli

+2

essayez d'utiliser une seule clé et si cela trouve des documents, ajoutez une autre clé. cela vous aiderait à identifier où le problème se produit. –

+0

D'accord avec Dmytro. Tester une clé, deux clés, trois touches, quatre touches pour savoir où vous commencez à obtenir des résultats zéro Et si c'est la quatrième clé qui cause le problème, qu'est-ce qu'il y a exactement dans la 4ème colonne triée et quelles sont les options d'affichage pour cette colonne définie sur? –

Répondre

1

La méthode GetAllDocumentsByKey requiert que votre vue, lookupview, comporte les premières colonnes classées et triées par les clés que vous utilisez pour la rechercher.

De l'docs:

méthode GetAllDocumentsByKey

Trouve les documents en fonction de leurs valeurs de colonnes dans une vue. Vous créez un tableau de chaînes (clés), où chaque clé correspond à une valeur dans une colonne triée et catégorisée dans la vue. La méthode renvoie tous les documents dont les valeurs de colonne correspondent à chaque clé du tableau.

Vous devrez peut-être modifier la conception de votre vue pour la recherche que vous effectuez.