Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/09/2008, 06:57
fesero
 
Fecha de Ingreso: junio-2008
Ubicación: Punta Alta, Argentina
Mensajes: 82
Antigüedad: 15 años, 11 meses
Puntos: 0
Pregunta 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