获取Notesdocumentcollection的空计数

时间:2017-03-21 06:57:08

标签: lotus-notes lotusscript

最初我的问题是我得到一个过流,因为前两个字段(ID)中的值的长度更长,然后我使用Clng(长)。我不得不把它改成Cstr(字符串)。

我还更新了@Text(fieldname)视图中的前两列,它仍按升序排序。

我有4个键,前两个来自父表单(但我也在对话框表单中使用),第三个和第四个键来自对话框表单。

可以在下面找到代码段:

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

我正在获取&#34;没有检索到文件&#34;当我检查了文档集时,它中有0。

请让我知道为什么我会变空。非常感谢你。

1 个答案:

答案 0 :(得分:1)

GetAllDocumentsByKey方法要求您的视图lookupview按照您用来搜索它的键对前几列进行分类和排序。

来自docs

  

GetAllDocumentsByKey方法

     

根据视图中的列值查找文档。你创造   一个字符串(键)数组,其中每个键对应一个a中的值   视图中的排序和分类列。该方法返回all   列值与数组中每个键匹配的文档。

您可能需要更改视图的设计以适应您正在执行的搜索。