
01/09/2008, 06:57
|
| | Fecha de Ingreso: junio-2008 Ubicación: Punta Alta, Argentina
Mensajes: 82
Antigüedad: 16 años, 10 meses Puntos: 0 | |
Comparacion en un listview Buenas Amigos Foreros!
Tengo unos textbox donde por medio de un commamd button, en el evento click, lleno un listview, en un textbox ingreso fecha y hora de inicio y en otro fecha y hora de finalizado. Mi consulta va a como hacer para que al ingresar un item nuevo me recorra todo el listview y me llene un campo del listview llamado "tener en cuenta", con "si" o "no" dependiendo de que si la fecha ingresada esta dentro del rango de alguna fecha ya ingresada en el listview anteriormente.
Ej 1
Ai = 10/08/2008 10:10
Af = 10/08/2008 10:30
Bi = 10/08/2008 10:15
Bf = 10/08/2008 10:25
en este caso el tramo B pertenece al tramo A por lo tanto no lo debo tener en cuenta y la duracion ed los tramos se puede calcular independientemente.
Ej 2
Ai = 10/08/2008 10:10
Af = 10/08/2008 10:30
Bi = 10/08/2008 10:15
Bf = 10/08/2008 10:35
en este caso la duracion es igual a Bf-Ai.
Ej 3
Ai = 10/08/2008 10:10
Af = 10/08/2008 10:20
Bi = 10/08/2008 10:21
Bf = 10/08/2008 10:25
como en el caso 1, pero a ambos tramos los debo tener en cuenta.
yo he intentado hacerlo de la siguiente manera, pero solo pude hacerlo comparando el registro ingresado y el anterior.
iTotItem = lvfal.ListItems.Count
If iTotItem > 1 Then
dFalAI = lvfal.ListItems(iTotItem - 1).SubItems(2)
dFalAF = lvfal.ListItems(iTotItem - 1).SubItems(3)
dFalBI = lvfal.ListItems(iTotItem).SubItems(2)
dFalBF = lvfal.ListItems(iTotItem).SubItems(3)
If dFalAI < dFalBI Then
If dFalAF < dFalBI Then
Dur = DateDiff("n", dFalAI, dFalAF, vbMonday)
lvfal.ListItems(iTotItem - 1).SubItems(5) = "Si"
Else
If dFalAF > dFalBF Then
Dur = DateDiff("n", dFalAI, dFalAF, vbMonday)
lvfal.ListItems(iTotItem - 1).SubItems(5) = "Si"
lvfal.ListItems(iTotItem).SubItems(5) = "No"
Else
Dur = DateDiff("n", dFalAI, dFalBF, vbMonday)
lvfal.ListItems(iTotItem - 1).SubItems(5) = "Si"
End If
End If
End If
Else
ObjItem.SubItems(5) = "Si"
End If
Mi intencion es no usar un recordset porque el listview representa una vista de lo que se va a cargar en una tabla.
No esta demas decir que soy un usuario reciente del VB y en este momento uso el vb6.
Última edición por fesero; 01/09/2008 a las 09:36 |