2009-02-19 48 views
0

我想通過傳遞數組來使用GetAllEntriesByKey中的當前日期。該陣列到目前爲止看起來像這樣如何在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

我似乎無法流過電流運行的日期時間。我可以在聲明中手動設置dateTime並且它可以工作。我認爲這是因爲它試圖打發時間,但我不知道。我嘗試了三種方法,它說無效的鍵值類型。

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 

我不知道這是否是有用的,但我也讀到了評估here

我最終試圖做的是「FF湯普森ADT」的GetFirstEntry存在最近一天的條目。我也想在前一天做同樣的事情。我試圖總結一下這兩天的文件處理過程(數字6)和最近一天使用類似這樣的錯誤(null)。我需要調整它,以便它找到文件處理和錯誤的條目,但我沒有得到那裏,但應該能夠做到。我也只是試圖找到最新的日期與飼料的時間值,即「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 

感謝您的任何幫助或建議。他們非常感激。

回答

1

這裏有一個答案,我發現

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) 
1

我只對字符串數組使用GetAllEntriesByKey方法。我從來沒有嘗試過混合類型。但假設不同類型對該方法有效,問題可能在於Notes中日期時間類型之間的差異。有一個核心LS日期時間類型,然後有一個NotesDateTime對象。我敢打賭,視圖認爲日期列由核心日期時間類型組成,因此當您通過NotesDateTime類型時它失敗。

但是,除了這個問題,我的建議是創建一個包含要訪問的列的視圖,並將第一列(包含FF Thompson ADT)的排序順序設置爲asc,然後將第二列設置爲日期到desc。然後,您可以訪問視圖項在您想要的順序,最近一次是第一次,最近的2次2,等

如果一些機會GetAllEntriesByKey方法返回的文件亂序(我忘了,如果它保證順序),我知道我在使用NotesViewNavigator類之前完成了這個任務。無需使用日期鍵調用GetAllEntriesByKey就可以完成此操作。

+0

肯嗨, 感謝您的輸入。當我醒來時,我想將新的notesdatetime對象今天的日期作爲一個字符串傳遞。 Dim todaysdate As New NotesDateTime(「Today」) Dim dateTime As New NotesDateTime(todaysdate.DateOnly) This Works! – Todd 2009-02-20 06:31:42

+0

是的,我知道這個視圖很麻煩,但之前我使用了一個自定義的視圖,但是它太慢而且資源密集。現在我正在考慮用if語句包裝GetAllEntriesByKey,要求在條目返回null時不斷嘗試昨天的日期。 – Todd 2009-02-20 06:34:44

相關問題