سؤال

أحاول استخدام اليوم الحالي في GetallentRiesBykey من خلال تمرير صفيف. الصفيف يبدو حتى الآن مثل هذا

Dim keyarray(2) As Variant  
keyarray(0) = "FF Thompson ADT"  
Set keyarray(1) = dateTime  

أود أن أقول هذا

Set vc = view.GetAllEntriesByKey(keyarray, False)  

هنا هو صف عما يبدو عليه عندما يعمل. يقوم وكيل الاختبار بطباعة CSV في رسالة بريد إلكتروني.

FF Thompson ADT، 2/3/2009، 11: 45: 02 مساء، 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

لا أعرف ما إذا كان هذا مفيدا ولكن قرأت عن تقييم هنا.

ما أحاوله في نهاية المطاف القيام به هو GetFirstEntry ل "FF Thompson Adt" للحصول على أحدث إدخالات اليوم. أحاول أيضا أن أفعل نفس الشيء في اليوم السابق. أحاول تلخيص الملفات التي تمت معالجتها (الرقم 6) لكلا اليومين والأخطاء (NULL) لأحدث يوم باستخدام شيء مثل هذا. أحتاج إلى قرصه حتى يجد الملفات التي تمت معالجتها وأخطاء الإدخالات لكنني لم أكن هناك ولكن يجب أن أكون قادرا على القيام به. أنا أيضا أحاول أيضا العثور على أحدث موعد مع القيمة الزمنية للخلاصة IE "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

شكرا على اي مساعدة أو اقتراحات. انهم موضع تقدير كبير.

هل كانت مفيدة؟

المحلول 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 فقط مع مجموعة من السلاسل. لم أحاول أبدا خلط الأنواع. ولكن على افتراض أن الأنواع المختلفة صالحة لهذه الطريقة، قد تكمن المشكلة في الفرق بين أنواع DETETIME في الملاحظات. هناك نوع DateTime Core LS ثم يوجد كائن NotesDateTime. أراهن على الرأي يعتبر عمود تاريخ يتكون من أنواع DETETIME الأساسية، لذلك يفشل عند تمرير نوع NotesDateTime.

لكن هذه المشكلة جانبا، اقتراحي هو إنشاء طريقة عرض تحتوي على الأعمدة التي ترغب في الوصول إليها، وتعيين ترتيب الفرز من العمود الأول (يحتوي على FF Thompson ADT) إلى ASC، ثم قم بتعيين العمود الثاني مع تواريخك إلى DESC. يمكنك بعد ذلك الوصول إلى إدخالات العرض بالترتيب الذي تريده، بأحدث كونه أولا، آخر 2 آخر 2، إلخ.

إذا قامت إحدى الفرصة في بعض الأحيان، تقوم طريقة GetallentRiesBykey بإرجاع المستندات خارج النظام (نسيت إذا ضميت الطلب)، فأنا أعلم أنني قمت بذلك قبل استخدام فئة NotesViewNavigator. هناك بالتأكيد طريقة بديلة للقيام بذلك دون الحاجة إلى استدعاء GetallentRiesBykey مع مفتاح التاريخ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top