0

配列を渡して 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を渡すことができないようです。宣言でdateTimeを手動で設定でき、機能します。時間をつぶそうとしているからだと思いますがわかりません。3 つの方法を試しましたが、無効なキー値の型と表示されます。

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

これが役立つかどうかはわかりませんが、 Evaluate hereについて読みました。

私が最終的にやろうとしているのは、最新の日のエントリが存在するための「FF Thompson ADT」の GetFirstEntry です。その前日も同じようにしようと思います。このようなものを使用して、最近の日の両方で処理されたファイル (数字 6) とエラー (null) を合計しようとしています。処理されたファイルとエントリのエラーを検出するように微調整する必要がありますが、そこには到達していませんが、実行できるはずです。また、フィードの時間値を含む最新の日付、つまり「FF Thompson 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

助けや提案をありがとう。彼らは大歓迎です。

4

2 に答える 2

1

文字列の配列で GetAllEntriesByKey メソッドのみを使用しました。タイプを混在させようとしたことはありません。しかし、異なる型がそのメソッドに有効であると仮定すると、問題は Notes の datetime 型の違いにある可能性があります。コア LS 日時型があり、次に NotesDateTime オブジェクトがあります。このビューは、日付列がコアの日時型で構成されていると見なしているため、NotesDateTime 型を渡すと失敗するに違いありません。

しかし、その問題はさておき、私の提案は、アクセスしたい列を持つビューを作成し、最初の列 (FF Thompson ADT を含む) の並べ替え順序を asc に設定し、2 番目の列の日付を desc に設定することです。次に、最新のものを最初に、2 番目に新しいものを 2 番目にというように、必要な順序でビュー エントリにアクセスできます。

万が一、GetAllEntriesByKey メソッドが文書を順不同で返した場合 (順序が保証されているかどうかは忘れました)、NotesViewNavigator クラスを使用する前にこれを実行したことがわかっています。日付キーで GetAllEntriesByKey を呼び出す必要がない別の方法が間違いなくあります。

于 2009-02-19T18:05:17.727 に答える