Sistema de Gestión de Negocios "Hexa"
Base de datos de conocimiento.
Doc. Ref. 8034 Título: Rangos en el formulario de criterios Autor: Hexa Última actualización: 01/03/2007#Acción #Campo #Condición #Criterios #Formulario #Scripts #Sistema #SQL |
Rangos en el formulario de criterios
En los formularios de criterios se puede crear una condición sql a partir de valores especificados para diferentes campos y aplicarlos a exploración de registros, informes y listados y otros procesos. En el caso de campos numéricos o de fecha, el rango se especifica en forma de dos valores "desde" y "hasta".
En este documento se detalla cómo considera exactamente hexa los valores introducidos para crear la condición.
En todos los casos es posible especificar uno de los dos valores o ambos. Si sólo se especifica el valor desde, la condición supone todos los registros con el campo correspondiente mayor o igual al valor especificado. En el caso del valor hasta, se considerarán todos los menores o iguales.
Así, por ejemplo, si se especifica en un formulario de criterios de impresión de facturas, desde "1/1/2007", se imprimirán todas las facturas con fecha igual o posterior a esa fecha. Si especificamos también hasta "31/1/2007" se imprimirá todas las facturas de enero del 2007
Valores nulos o vacíos
En el caso de campos de la base de datos contenga campos con valores nulos, el formulario de criterios se comporta de la siguiente forma:
- Números
Un campo numérico nulo se considera infinitamente negativo, es decir, que siempre que se especifique un valor en "desde", los registros con valores nulos no entrarán en la condición.
Para detectar todos los registros que tienen un valor nulo en un campo de una tabla, habría que especificar un valor muy negativo (por ejemplo -9999999999) en "hasta" (tan negativo como el registro más negativo no nulo que exista). Así, los únicos registros que cumplirán que su valor es menor será aquellos que tienen valor nulo
- Fechas
En el caso de fechas, hexa se comporta de forma inversa: Un campo de tipo fecha con valor nulo, se considera como "futuro infinito". Así, por ejemplo, un proyecto que en el campo "Fin" tenga valor nulo, se considera que la fecha de finalización está muy alejada en el futuro. Para obtener un listado de todos los proyectos sin fecha de finalización (no finalizados) habría que especificar en "desde" una fecha lejana (por ejemplo 31/12/2050) y así, sólo se considerarán los únicos registros que tengan un valor posterior que son los nulos.
Criterios negados.
Otra posibilidad que ofrece el formulario de criterios de Hexa, es la de invertir las condiciones activando el campo "No" que hay al lado de cada rango. Cuando se aplica esta opción se invierte esta condición.
Ejemplo.
Si queremos explorar todas las tareas con fecha de última gestión anterior al año 2000 o que no tengan ninguna gestión (campo nulo), especificaríamos "desde 1/1/2000, hasta 31/12/2050" y aplicaríamos la opción de negación.