如何在GetAllEntriesByKey阵列使用日期?
-
05-09-2019 - |
题
我试图通过将数组传递给使用当前一天GetAllEntriesByKey。阵列到目前为止看起来像这样
Dim keyarray(2) As Variant
keyarray(0) = "FF Thompson ADT"
Set keyarray(1) = dateTime
我想说这
Set vc = view.GetAllEntriesByKey(keyarray, False)
下面是什么样子时,它就像一排。测试剂打印出的csv在一封电子邮件。
FF汤普森ADT,2/3 / 2009,11:45:02 PM,0,6,0,,00:00:04,5400,4
我似乎无法通过在运行当前日日期时间。我可以在声明中手动设置日期时间和它的作品。我想这是因为它试图通过同样的时间,但我不知道。我已经试过三种方法,它说无效键值的类型。
Dim dateTime As New NotesDateTime("")
Call dateTime.LSLocalTime = Now
...
keyarray(1) = dateTime.Dateonly
Dim dateTime As New NotesDateTime("")
Call dateTime.SetNow
...
keyarray(1) = dateTime.Dateonly
Dim dateTime As New NotesDateTime("Today")
...
keyarray(1) = dateTime.Dateonly
我不知道这是否是有用的,但我也读到了评估的此处。
什么我最终想要做的是为GetFirstEntry“FF汤普森ADT”的存在,最近每天的条目。我也想为之前一天做同样的。我想使用这样的事情,最近每天总结处理这两天和错误的文件(6号)(空)。我需要那么找到处理的文件和错误的条目来调整,但我还没有得到有,但应该能做到。我也只是想找到最近的日期与饲料即“FF汤普森ADT”时间值。
Set entry = vc.GetFirstEntry
filesprocessed = 0
Dim errors, errortotal As Integer
errors = 0
errorstotal = 0
While Not entry Is Nothing
rowval = 0
errors = 0
Forall colval In entry.ColumnValues
If rowval > 0 Then
errors = Cint(colval)
Else
rowval = Cint(colval)
End If
End Forall
filesprocessed = filesprocessed + rowval
errorstotal = errorstotal + errors
Set entry = vc.GetNextEntry(entry)
Wend
感谢您的帮助或建议。它们不胜感激。
解决方案 2
下面是一个答案,我发现
Dim todaysdate As New NotesDateTime("Today")
Dim dateTime As New NotesDateTime(todaysdate.DateOnly)
Dim keyarray(1) As Variant keyarray(0) = feedname
Set keyarray(1) = dateTime
Set vc = view.GetAllEntriesByKey(keyarray, False)
其他提示
我只用一个字符串数组中使用的方法GetAllEntriesByKey。我从来没有尝试混合类型。不过,假设不同类型的有效期为这种方法,问题可能在于在注日期时间类型之间的差异。有一个核心LS日期时间类型,然后有一个与NotesDateTime对象。我打赌的观点是考虑要进行的日期时间核心类型的一个日期栏,和因此当你通过与NotesDateTime类型它将失败。
但这个问题不谈,我的建议是创建具有您要访问的列的视图,并设置第一列(含FF汤普森ADT)对于ASC的排序顺序,然后用你的日期设置第二列为desc。然后,您可以访问视图项在您想要的顺序,最近一次是第一次,最近的2次2,等等。
如果一些机会GetAllEntriesByKey方法返回的文件乱序(我忘了,如果它保证顺序),我知道我使用NotesViewNavigator课前已经这样做了。肯定有一个替代办法做到这一点,而不需要调用GetAllEntriesByKey与日期键。