¿Cómo puedo Utilizar una Fecha en una Matriz en GetAllEntriesByKey?
-
05-09-2019 - |
Pregunta
Estoy tratando de utilizar el día actual en GetAllEntriesByKey por el paso de una matriz.La matriz por lo que ahora se ve como este
Dim keyarray(2) As Variant
keyarray(0) = "FF Thompson ADT"
Set keyarray(1) = dateTime
Me gustaría decir que este
Set vc = view.GetAllEntriesByKey(keyarray, False)
Aquí está una fila de lo que se ve cuando funciona.El agente de prueba se imprime csv en un correo electrónico.
FF Thompson ADT,2/3/2009,11:45:02 PM,0,6,0,,00:00:04,5400,4
Me parece que no puede pasar un día en curso dateTime que se ejecuta.Puedo configurar el dateTime manualmente en la declaración y funciona.Yo creo que es porque se está tratando de pasar el tiempo, pero no sé.He probado tres maneras y dice que la clave no válida tipo de valor.
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
No sé si esto es útil, pero he leído acerca de Evaluar aquí.
Lo que yo soy en última instancia, tratando de hacer es GetFirstEntry para "FF Thompson ADT" para la más reciente día existen entradas.También estoy tratando de hacer lo mismo durante el día antes de que.Estoy tratando de resumir los archivos procesados (el número 6) para los dos días y los errores (null) para el último día el uso de algo como esto.Tengo que retocarlo con el fin de encontrar los archivos procesados y de los errores de las entradas, pero no he llegado ahí, pero debe ser capaz de hacer.También estoy tratando de encontrar la fecha más reciente con el tiempo el valor de la alimentación, es decir "la 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
Gracias por cualquier ayuda o sugerencia.Son muy apreciados.
Solución 2
He aquí una respuesta que he encontrado
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)
Otros consejos
Yo sólo he utilizado el GetAllEntriesByKey método con una matriz de cadenas.Nunca he probado la mezcla de tipos.Pero suponiendo que los diferentes tipos son válidos para ese método, el problema podría residir en la diferencia entre datetime tipos de Notas.Hay un núcleo de LS tipo de fecha y hora y, a continuación, hay una NotesDateTime objeto.Yo apostaría que la considera una columna de fecha se compone de un núcleo de datetime tipos, y así se produce un error al pasar el NotesDateTime tipo.
Pero el tema a un lado, mi sugerencia es crear una vista que tiene las columnas que desea acceder, y establecer el orden de la primera columna (que contienen FF Thompson ADT) a asc, a continuación, establezca la segunda columna con sus fechas de desc.A continuación puede acceder a la vista de las entradas en el orden que desee, con la más reciente en primer lugar, la 2ª más reciente 2º, etc.
Si por alguna casualidad el GetAllEntriesByKey método devuelve los documentos de pedido (no recuerdo si se garantiza el orden), sé que he hecho esto antes de usar el NotesViewNavigator clase.Definitivamente hay una manera alternativa de hacerlo sin la necesidad de llamar GetAllEntriesByKey con la fecha clave.