|
|
|
|
- automatic gestión de claves compuestas
- Filtro e iteración filtrada
- Habilitar/Deshabilitar un filtro
- Archivos de datos no HFSQL
<Fuente>.FilterIncludedBetween (Función)
No disponible con este tipo de conexión
Define y habilita un filtro "Incluido entre" en un archivo de datos, ver o consultar. El filtro "Incluido entre" sirve para seleccionar todos los registros incluidos entre dos valores. Después de su ejecución, los casos más comunes son los siguientes: - no se puede crear el filtro: <Fuente>.FilterIncludedBetween devuelve una cadena vacía (""). HError devuelve el identificador del error.
- se crea el filtro: la función <Fuente>.FilterIncludedBetween devuelve la clave de búsqueda adecuada que se utilizará para navegar por el archivo de datos, la vista o la consulta.
MySearchKey is string MySearchKey = Customer.FilterIncludedBetween(LastNameFirstName, ... "A", "B" + hMaxVal, hBoundSeparator, "C", "D" + hMaxVal) // Select all the customers whose last name is included between A and C // and whose first name is included between C and D Customer.ReadFirst(MySearchKey) WHILE NOT Customer.Out() Trace(Customer.CustomerName, Customer.City) Customer.ReadNext(MySearchKey) END ... // Disables the filter Customer.DeactivateFilter()
Sintaxis
<Result> = <Source>.FilterIncludedBetween(<Key item> , <Lower bound of key component 1> [, <Lower bound of key component N> [... [, <Lower bound of key component 2>]]] , <hBoundSeparator> , <Upper bound of key component 1> [, <Upper bound of key component 2> [... [, <Lower bound of key component 2>]]])
<Result>: Cadena de caracteres Campo de navegación. Corresponde a:- la clave de búsqueda del archivo de datos si el filtro está activado.
- una cadena vacía ("") si no se puede establecer el filtro.
<Source>: Tipo de fuente especificada Nombre del archivo de datos, vista o consulta utilizada. <Key item>: Cadena de caracteres Nombre del elemento clave sobre el que se aplicará el filtro. Este elemento puede ser una llave simple (cadena) o una llave compuesta. Atención: este parámetro sólo debe contener letras, caracteres subrayados o dígitos. De lo contrario, el nombre debe estar entre comillas. <Lower bound of key component 1>: Tipo del primer componente de la clave de búsqueda Límite inferior para los componentes (primero, segundo, etc.) de la clave compuesta. Los registros correspondientes a este valor se incluirán en el filtro. El tipo de este parámetro debe corresponderse con el tipo de componente del elemento clave sobre el que se define el filtro. <Lower bound of key component N>: Tipo del segundo componente de la clave de búsqueda Límite inferior para el segundo componente de la llave compuesta. Los registros correspondientes a este valor se incluirán en el filtro. El tipo de este parámetro debe corresponderse con el tipo de componente del elemento clave sobre el que se define el filtro. <Lower bound of key component 2>: Tipo de enésima Component de la clave de búsqueda Límite inferior para el enésimo componente de la llave compuesta. Los registros correspondientes a este valor se incluirán en el filtro. El tipo de este parámetro debe corresponderse con el tipo de componente del elemento clave sobre el que se define el filtro. <hBoundSeparator>: Constante de tipo Integer La constante hBoundSeparator se utiliza para separar los valores de los límites inferiores y superiores de los componentes de la clave compuesta. <Upper bound of key component 1>: Tipo del primer componente de la clave de búsqueda Límite superior para los componentes (primero, segundo, ...) de la clave compuesta. Los registros correspondientes a este valor se incluirán en el filtro. El tipo de este parámetro debe corresponderse con el tipo de componente del elemento clave sobre el que se define el filtro. <Upper bound of key component 2>: Tipo del segundo componente de la clave de búsqueda Límite superior para el segundo componente de la llave compuesta. Los registros correspondientes a este valor se incluirán en el filtro. El tipo de este parámetro debe corresponderse con el tipo de componente del elemento clave sobre el que se define el filtro. <Lower bound of key component 2>: Tipo de enésima Component de la clave de búsqueda Límite inferior para el enésimo componente de la llave compuesta. Los registros correspondientes a este valor se incluirán en el filtro. El tipo de este parámetro debe corresponderse con el tipo de componente del elemento clave sobre el que se define el filtro. Observaciones automatic gestión de claves compuestas La función <Fuente>.FilterIncludedBetween gestiona automáticamente los filtros tanto para las claves simples como compuestas. Ejemplo: Uso de la función <Fuente>.FilterIncludedBetween con una clave simple:
ResultFilter = Customer.FilterIncludedBetween(LastName, "A", hBoundSeparator, "B" + hMaxVal) // Select all the customers whose last name is included between A and C
Ejemplo: Utilizar <Fuente>.FilterIncludedBetween con una clave compuesta
ResultFilter = Customer.FilterIncludedBetween(LastNameFirstName, "A", "B" + hMaxVal, ... hBoundSeparator, "C", "D" + hMaxVal) // Select all the customers whose last name is included between A and C // and whose first name is included between C and D
Este Line de código equivale a:
Customer.Filter(LastNameFirstName, ... Customer.BuildKeyValue(LastNameFirstName, "A", "B" + hMinVal), ... Customer.BuildKeyValue(LastNameFirstName, "C", "D" + hMaxVal))
Filtro e iteración filtrada Después de ejecutar la función <Fuente>.FilterIncludedBetween, la navegación del archivo de datos debe realizarse en el elemento devuelto por la función <Fuente>.FilterIncludedBetween. El filtro será ignorado si se utiliza otro elemento para recorrer el archivo de datos. Cuando se define y habilita un filtro en un archivo de datos (vista o consulta), todos los registros leídos corresponden al filtro. Si no hay ninguna otra Record que corresponda al filtro durante la iteración: - <Fuente>.Out devuelve True.
- la actual Record corresponde a la última Record leída con el filtro.
Por ejemplo: Habilitar/Deshabilitar un filtro - <Fuente>.DeactivateFilter se utiliza para desactivar un filtro.
- <Fuente>.ActivateFilter se utiliza para volver a habilitar un filtro.
- El filtro se borra cuando se cierra el archivo de datos (consulta o vista) (<Fuente>.Close por ejemplo).
- Un único filtro puede existir en un momento dado en un archivo de datos (consulta o vista). Si la función <Fuente>.FilterIncludedBetween se utiliza varias veces, solo se tendrá en cuenta el último filtro: se borrarán los filtros anteriores. Del mismo modo, si se utilizan varios filtros (funciones HFilter*), sólo se tendrá en cuenta el último filtro.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|