¿Qué significan las funciones INLIST y BETWEEN en VF?
INLIST(eExpression1, eExpression2 [, eExpression3...])
Valor de retorno
Valor lógico o valor nulo
Parámetros
eExpression1
Especifica la expresión a buscar en el grupo de expresiones de la función inlist().
eExpression2 [, eExpression3 ...]
Especifica el grupo de expresiones a buscar. El grupo de expresiones debe contener al menos una expresión (eExpression2) y no más de 24.
Todas las expresiones de un grupo de expresiones deben tener el mismo tipo de datos.
Notas
La función inlist() devuelve Verdadero (.T.) si la expresión que busca se encuentra en el grupo de expresiones, en caso contrario devuelve Falso (.F.) . Si eExpression1 está vacía, inlist() devuelve vacío; si eExpression1 no coincide con ninguna expresión en el grupo de expresiones, o una expresión en el grupo de expresiones está vacía, inlist() también devuelve vacía
Ejemplo
El siguiente ejemplo de función inlist() determina a qué trimestre del año pertenece el mes actual, almacenado en la variable gcmonth. Cada declaración de caso utiliza la función inlist() para determinar si el valor de gcmonth está contenido en la lista de meses y el nombre del trimestre devuelto se almacena en la variable gcreportitle.
CONFIGURAR TALK ON
STORE CMONTH(DATE()) TO gcMonth
DO CASE
CASE INLIST(gcMonth,'Enero' ,'Febrero',Marzo')
ALMACENAR 'Primer Trimestre' EN gcReporTitle
CASE INLIST(gcMes,'Abril','Mayo','Junio')
ALMACENAR 'Segundo trimestre' EN gcReporTitle
CASE INLIST(gcMonth,'July',August','September')
Almacenar 'Tercer trimestre' en gcReporTitle
Otros casos
Almacena 'Q4' en gcReporTitle
ENDCASE
WAIT WINDOW gcReporTitle
Determina si el valor de un La expresión está entre los valores de otras dos expresiones del mismo tipo de datos.
ENTRE(eTestValue, eLowValue, eHighValue)
Valor de retorno
Valor lógico o valor nulo
Parámetros
eTestValue
Especifica la expresión que prueba la función BETWEEN( ). BETWEEN( ) devuelve Verdadero lógico (.T. ) cuando eTestValue es mayor o igual que eLowerValue y menor o igual que eHighValue; de lo contrario, devuelve Falso lógico (.F. ). Si eLowerValue o eHighValue están vacíos, se devuelve Null.
eLowValue
Especifica el límite inferior del rango sobre el cual se calcula BETWEEN().
eHighValue
Especifica el límite superior del rango de cálculo de BETWEEN().
Observaciones
Si el valor de una expresión de carácter, fecha, fecha y hora, número, flotante, entero, doble o moneda está dentro del valor de otras dos expresiones del mismo tipo de datos entre, ENTRE() devuelve VERDADERO (.T.); de lo contrario, devuelve FALSO (.T.). "Falso" (.F.). Si eLowValue o eHighValue están vacíos, se devuelve Null.
Ejemplo
El siguiente ejemplo encuentra todos los registros en la tabla de pedidos que cumplen con la condición (el valor del campo order_amt está entre 950 y 1000) y muestra los campos cust_id y order_amt. del contenido de estos registros.
CERRAR BASES DE DATOS
ABRIR BASE DE DATOS (HOME(2) + 'Datos\testdata')
UTILIZAR pedidos && abrir tabla de pedidos
BORRAR
ESCANEAR ENTRE(order_amt,950,1000)
? cust_id, order_amt
ENDSCAN