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
  • Presentación
  • Creación de un filtro
  • Características
  • Manejo de los filtros en WLanguage
  • Funciones WLanguage
  • Propiedades de WLanguage
  • Examinar y buscar en una selección de registros filtrados
  • Optimización de los filtros
  • Filtros y estadísticas
  • Filtros y teclas compuestas
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
Filtrando a un archivo de datos, una vista o una consulta
ODBCNo disponible con este tipo de conexión
Presentación
Un filtro sirve para definir, mediante programación, una selección de registros correspondientes a uno o varios criterios. Esta selección de registros puede realizarse en un archivo de datos HFSQL, una vista HFSQL o una consulta.
Los registros de esta selección se pueden leer e iterar con las funciones de lectura (HReadFirst, HReadNext, etc.). Esto le permite, durante una navegación, Process directamente todos los registros seleccionados.
Por ejemplo , para enviar un Email específico a todos los clientes que viven en los estados 34, 35 y 36, debe:
  • Crear un filtro en el archivo de datos del cliente para seleccionar los clientes que viven en el estado 34, 35 y 36,
  • Navegue por el archivo de datos filtrados y ejecute para cada cliente un Procedure usado para enviar el Email.
¿Filtros o consultas?
  • Los filtros se recomiendan cuando la condición de selección se aplica a un solo archivo de datos, vista o consulta. Los filtros se utilizan para crear condiciones de selección complejas en los registros o para seleccionar fácilmente los registros que se encuentran en una interval de valores.
  • Las consultas se recomiendan cuando la selección de registros debe realizarse sobre varios archivos de datos.
Creación de un filtro
Un filtro es creado por HFilter. Este filtro se utiliza para seleccionar:
  • los registros encontrados entre dos límites: los límites deben definirse para una posición clave.
  • los registros correspondientes a una condición de selección específica de una posición.
En ambos casos, HFilter devuelve el mejor elemento que se utilizará para navegar por los registros filtrados. Este artículo puede ser un artículo clave del archivo de datos o no. Si no se navega por el archivo de datos de acuerdo con este ítem, el filtro no será tomado en cuenta.

Características

Se puede activar un único filtro por archivo de datos (vista o consulta) en un momento dado.
Manejo de los filtros en WLanguage

Funciones WLanguage

Las siguientes funciones de WLanguage se utilizan para gestionar los filtros:
Filtro HFDefine y activa un filtro en un archivo de datos, vista o consulta.
HActivateFilterActiva el filtro que se creó previamente para el archivo de datos (vista o consulta) especificado.
HDeactivateFilterDesactiva temporalmente un filtro en un archivo de datos (vista o consulta).
HFilterContieneDefine y activa un filtro de tipo "Contiene" en un archivo de datos, vista o consulta.
HFilterIdenticalDefine y habilita un filtro utilizado para encontrar el valor exacto de un elemento de cadena.
HFilterIncludedBetweenDefine y activa un filtro de tipo "Comprendido entre" en un archivo de datos, vista o consulta.
HFilterStartsWithDefine y activa un filtro de tipo "Comienza por" en un archivo, vista o consulta.

Propiedades de WLanguage

Las siguientes propiedades de WLanguage se utilizan para gestionar los filtros:
FilterConditionDevuelve la condición de selección implementada por HFilter en un archivo de datos, una vista HFSQL o una consulta.
FilteredItemPermite conocer el elemento sobre el que HFilter ha implementado un filtro en un archivo de datos, una vista HFSQL o una consulta.
FilterWithBoundsPermite saber si se han especificado límites en el filtro implementado por HFilter en un archivo de datos, una vista HFSQL o una consulta.
MaxValueRecupera el límite superior del filtro actual (definido por HFilter) en un archivo de datos, una vista HFSQL o una consulta.
MinValueRecupera el límite inferior del filtro actual (definido por HFilter) en un archivo de datos, una vista HFSQL o una consulta.
Examinar y buscar en una selección de registros filtrados
  • Para navegar por una set de registros filtrados, todo lo que tienes que hacer es usar las funciones de navegación de HFSQL.
    HReadFirstPosiciones en la primera Record correspondiente al filtro (si existe). La función HOut devuelve True si ningún otro registro corresponde al filtro.
    HReadLastPosiciones en la última Record correspondiente al filtro (si existe). La función HOut devuelve True si ningún otro registro corresponde al filtro.
    HReadNextPosiciones en el próximo Record correspondientes al filtro (si existe). La función HOut devuelve True si ningún otro registro corresponde al filtro.
    HReadPreviousPosiciones en la Record anterior correspondientes al filtro (si existe). La función HOut devuelve True si ningún otro registro corresponde al filtro.
  • Para navegar por una set de registros filtrados, todo lo que tienes que hacer es usar las funciones de búsqueda de HFSQL.
    HReadSeek/HReadSeekFirst
    • Si la búsqueda se aplica a la clave de búsqueda , busca y se posiciona en el primer Record del filtro correspondiente a la condición especificada (si existe). La función HOut devuelve True si ningún otro registro corresponde al filtro, ni a la condición de búsqueda.
    • Si la búsqueda se aplica a otro elemento , busca y posiciona en el primer Record del archivo (no filtrado) correspondiente a la condición especificada (si existe). La función HOut devuelve True si ningún otro registro corresponde al filtro, ni a la condición de búsqueda.
    HReadSeekLast
    • Si la búsqueda se aplica a la clave de búsqueda , busca y se posiciona en el último Record del filtro correspondiente a la condición especificada (si existe). La función HFound devuelve True si ningún otro registro corresponde al filtro, ni a la condición de búsqueda.
    • Si la búsqueda se aplica a otro elemento , busca y posiciona en el último registro del archivo de datos (no filtrado) correspondiente a la condición especificada (si existe). La función HOut devuelve True si ningún otro registro corresponde al filtro, ni a la condición de búsqueda.
Optimización de los filtros
Optimizar la navegación de los registros filtrados:
  • realizar cálculos estadísticos de sus índices de forma regular,
  • definir claves compuestas en sus archivos de datos.

Filtros y estadísticas

Los filtros se basan en las estadísticas del índice HFSQL. Para optimizar la navegación de los registros filtrados, le recomendamos que utilice estadísticas recientes. Estas estadísticas son actualizadas por HStatCalculate.
Por lo tanto, le recomendamos que calcule regularmente las estadísticas de los archivos filtrados (especialmente para los archivos de datos que se modifican a menudo, un orden Line por ejemplo). Estas estadísticas se recalculan automáticamente al reorganizar (o reindexar) los archivos de datos.
Atención: Dependiendo del tamaño de del archivo de datos, el cálculo de las estadísticas puede llevar bastante tiempo. Además, este cálculo bloquea a el archivo de datos: el archivo de datos no puede utilizarse durante este periodo de tiempo (sólo HFSQL Classic). Le aconsejamos que realice este cálculo cuando no se utilice la base de datos (Process nocturno por ejemplo)

Filtros y teclas compuestas

Si la condición de filtro se aplica a varios elementos correspondientes a una clave compuesta de su archivo de datos, la clave de búsqueda elegida automáticamente para el filtro será esta clave compuesta.
Por ejemplo:
  • Se define un filtro en el archivo de datos del CLIENTE. Este filtro se aplica a los elementos Apellido y Nombre de pila.
  • Una clave compuesta APELLIDO+APELLIDO se encuentra en el archivo de datos del CLIENTE.
  • La clave compuesta será elegida automáticamente como clave de búsqueda para el archivo de datos filtrados.
Para obtener más información, consulte Claves compuestas.
Ver también
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: 14/06/2023

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