AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Administrar bases de datos / HFSQL / Funciones HFSQL
  • automatic gestión de claves compuestas
  • Filtro e iteración filtrada
  • Habilitar/Deshabilitar un filtro
  • Archivos de datos no HFSQL
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
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: HFilterIncludedBetween devuelve una cadena vacía (""). HError devuelve el identificador del error.
  • se crea el filtro: la función HFilterIncludedBetween devuelve la clave de búsqueda adecuada que se utilizará para navegar por el archivo de datos, la vista o la consulta.
Ejemplo
MySearchKey is string
MySearchKey = HFilterIncludedBetween(Customer, 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
HReadFirst(Customer, MySearchKey)
WHILE NOT HOut(Customer)
Trace(Customer.CustomerName, Customer.City)
HReadNext(Customer, MySearchKey)
END
...
// Disables the filter
HDeactivateFilter(Customer)
Sintaxis
<Result> = HFilterIncludedBetween(<Data file> , <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.
<Data file>: Cadena de caracteres
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 componente n 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 componente n 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 HFilterIncludedBetween gestiona automáticamente los filtros tanto para las claves simples como compuestas.
Ejemplo: Uso de la función HFilterIncludedBetween con una clave simple:
ResultFilter = HFilterIncludedBetween(Customer, LastName, "A", hBoundSeparator, "B" + hMaxVal)
// Select all the customers whose last name is included between A and C
Ejemplo: Utilizar HFilterIncludedBetween con una clave compuesta
ResultFilter = HFilterIncludedBetween(Customer, 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:
HFilter(Customer, LastNameFirstName, ...
HBuildKeyValue(Customer, LastNameFirstName, "A", "B" + hMinVal), ...
HBuildKeyValue(Customer, LastNameFirstName, "C", "D" + hMaxVal))

Filtro e iteración filtrada

Después de ejecutar la función HFilterIncludedBetween, la navegación del archivo de datos debe realizarse en el elemento devuelto por la función HFilterIncludedBetween. 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:
  • HOut devuelve True.
  • la actual Record corresponde a la última Record leída con el filtro.
Por ejemplo:
En un archivo de datos filtrados, después de la función:el actual Record es:
HReadFirstel primer archivo Record correspondiente al filtro
HReadLastel último archivo Record correspondiente al filtro
HReadNext (o HForward)el siguiente Record (o el siguiente n-ésimo Record) correspondiente al filtro
HReadPrevious (o HBackward)el anterior Record (o el anterior n-ésimo Record) correspondiente al filtro

Habilitar/Deshabilitar un filtro

  • HDeactivateFilter se utiliza para desactivar un filtro.
  • HActivateFilter se utiliza para volver a habilitar un filtro.
  • El filtro se borra cuando se cierra el archivo de datos (consulta o vista) (HClose por ejemplo).
  • Un único filtro puede existir en un momento dado en un archivo de datos (consulta o vista). Si la función HFilterIncludedBetween 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.
WINDEVWEBDEV - Código ServidorReportes y ConsultasCódigo de Usuario (UMC)AjaxProcedimientos almacenadosOLE DBConectores Nativos

Archivos de datos no HFSQL

Componente: wd290hf.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local