Saludos. Algunas veces necesitamos calcular los dias de diferencia entre dos fechas. Por ejemplo... cuantos dias hay entre el 01/08/2012 y el 01/09/2012 (agosto - septiembre) y obtener el resultado en un numero entero especifico (30 dias). Imaginemos que tenemos un text1 donde ingresamos la fecha inicial (01/08/2012/) y un text2, donde ingresamos la fecha final (01/09/2012). Ambos tienen una D (formato fecha) en la propiedad Format de la pestaña DATA. En el Init del fomr configuramos (segun se desee) el tipo de siglo:
**--Para mostrar 2012 en lugar de 12
SET CENTURY ON
Luego, copiamos este codigo en algun evento:
LOCAL ldFechaDesde, ldFechaHasta, ldDiaD, ldMesD, ldAnoD, ldDiaH, ldMesH, ldAnoH, lnFechaResul
*Fecha inicial
ldFechaDesde = CTOD(ALLTRIM(THISFORM.Text1.Value))
ldAnoD = YEAR(ldFechaDesde)
ldMesD = MONTH(ldFechaDesde)
ldDiaD = DAY(ldFechaDesde)
**Fecha final
ldFechaHasta = CTOD(ALLTRIM(THISFORM.Text2.Value))
ldAnoH = YEAR(ldFechaHasta)
ldMesH = MONTH(ldFechaHasta)
ldDiaH = DAY(ldFechaHasta)
**
lnFechaResul = DATE(ldAnoH, ldMesH, ldDiaH) - DATE(ldAnoD, ldMesD, ldDiaD)
MESSAGEBOX(lnFechaResul)
Y listo. Guardamos y ejecutamos. El numero de dias lo tenemos contenido en la variable lnFechaResul y podemos proceder a hacer uso efectivo de el.
Saludos! Desde Managua, Nicaragua!
Ravenn :D :D :D
Cuando llega a lnFechaResul = DATE(ldAnoH, ldMesH, ldDiaH) - DATE(ldAnoD, ldMesD, ldDiaD) marca error.... "function argument value type, or count is invalid".. revialso
ResponderEliminarHola. Ohh si! Veo que hay un error en el codigo... copie mal cuando hice la entrada y no revise. Me disculpo. En cuanto tenga un tiempito, lo soluciono! Gracias por la observacion. He estado bastante fuera del campo hehe! XD
EliminarSaludos! :)
Y nunca encontró la corrección del erro XD
ResponderEliminarAtte
Jony