FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Condicionales para las fechas
Estimados,
Tengo un pequeño dilema con un tema que quiero efectuar, En una Grid por consulta SQl se realizará una búsqueda de "Productos" de un Sistema Básico de Inventario, y en esta grilla se mostrarán los datos en columnas algo asi... ID PRODUCTO FAMILIA FECHA VENCIMIENTO 1 Manzana Frutas 28/06/2012 2 Pera Frutas 30/06/2012 3 Plátano Frutas 02/07/2012 Si hoy en mi Base de Datos (Firebird) la fecha es 26/06/2012, necesito COLOREAR LA FILA de distintos colores, ejemplo: Si la fecha de vencimiento del producto es igual o inferior a 3 días de la fecha actual del sistema, entonces, Color ROJO Si la fecha de vencimiento del producto es igual o mayor a 4 días de la fecha actual del sistema, entonces, Color NARANJO Si la fecha de vencimiento del producto es igual o mayor a 5 y menor igual a 8 días de la fecha actual del sistema, entonces, Color VERDE Trabajo con Firebird SQL El tema de la consulta de búsqueda ya la tengo, pero quiero condicionar los datos de la GRID según criterio presentado... Saludos |
#2
|
||||
|
||||
Hola mantraxer21.
Cita:
La segunda condición solapa la tercera, es decir, la expresión N > 4 contiene a 5 >= N <= 8. Otra cosa que noto (no sé si será así el requerimiento), es que en las comparaciones quedan excluídos los dos días anteriores a la fecha actual. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 26-06-2012 a las 10:38:47. Razón: corregir ortografía |
#3
|
||||
|
||||
Hola,
tendrás que poner en el DrawColumnCell del grid las condiciones necesarias para pintar las líneas, pero ojo porque, como te señala ecfisa, las condiciones que comentas se solapan unas a otras. en todo caso te pongo un ejemplo.
Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#4
|
||||
|
||||
En el evento OnDrawColumnCell, agrega el siguiente código:
Para utilizar el código anterior, necesitas agregar a tus USES la unidad DateUtils. Además, ten en cuenta que utilizo una función llamada iif. Realmente esta función no existe. Su declaración sería:
Saludos! Última edición por Chris fecha: 26-06-2012 a las 21:38:49. |
#5
|
||||
|
||||
Hola Chris,
donde pones DBetween en realidad debería poner days_to_void, ¿verdad?, y otra cosa, si la fecha de vencimiento fuera 5 días después de la actual te volvería a pintar la fila en verde, o me equivoco, creo que no llego a comprender para que sirve la función iff. Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#6
|
||||
|
||||
Cita:
Si la fecha fuera 5 días después de hoy, la fila se pintaría en rojo. Es de ahí la última condición "days_to_void < 0". La función iif es una función común en algunos lenguajes o entornos. Lástima que Delphi no la incluye -hasta dónde sé-. La función iif es cómo cualquier otra función. Es una función que se utiliza para ahorra líneas de código y hacer el código más leíble. Tienes que declararla en cualquier lugar de tu aplicación. El último código que puse sería su "source code". Lo que aún si no estoy claro es en el orden de los parámetros de la función DaysBetween. Si hay cualquier problema, la solución sería intercambiar los parámetros Query.FieldByName(...) y Now(). Saludos! |
#7
|
||||
|
||||
Hola,
yo es que creo que en la función de DaysBetween da igual el orden de las fechas, siempre te marca la diferencia de días entre una y otra, aunque la primera fecha se superior a la segunda.
Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#8
|
||||
|
||||
Cita:
Creo que ya llevar unos meses fuera de Delphi está empezando a hacer efecto en mí |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ayuda con los Condicionales | jose_kira_sk8 | Varios | 5 | 09-08-2011 15:22:58 |
Problema con condicionales encadenados | Parabol77 | Varios | 4 | 10-02-2011 17:24:00 |
Se puede hacer consultas SQL condicionales con Firebird | David | SQL | 2 | 04-04-2008 15:34:54 |
condicionales en SQL | Max_E. | SQL | 2 | 31-10-2006 19:28:33 |
SQL´s con condicionales | AMINOA2R | Firebird e Interbase | 3 | 02-02-2006 09:33:14 |
|