Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Comparacion en un listview

Estas en el tema de Comparacion en un listview en el foro de Visual Basic clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 01/09/2008, 06:57
 
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:35.