DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Gestion automatique des clés composées
  • Filtre et parcours filtré
  • Activation/Désactivation d'un filtre
  • Fichier de données non HFSQL
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Définit et active un filtre permettant de rechercher la valeur exacte d'une rubrique de type chaîne. Ce filtre peut être utilisé sur un fichier de données, une vue ou une requête.
Après son exécution, les cas suivants sont les plus fréquents :
  • le filtre ne peut pas être créé : la fonction HFiltreIdentique renvoie une chaîne vide (""). La fonction HErreur permet de récupérer l'identifiant de l'erreur.
  • le filtre est créé : la fonction HFiltreIdentique renvoie la clé de parcours optimale à utiliser pour réaliser le parcours du fichier de données, de la vue ou de la requête.
Exemple
// Sélection de tous les clients ayant pour nom Archambault
// et pour prénom Corentin
CléParcours est une chaîne
CléParcours = HFiltreIdentique(Client, NomPrénom, "Archambault", "Corentin")
HLitPremier(Client, CléParcours)
TANTQUE PAS HEnDehors()
Trace(Client.NomClient, Client.Ville)
HLitSuivant(Client, CléParcours)
FIN
// Désactive le filtre
HDésactiveFiltre(Client)
Syntaxe
<Résultat> = HFiltreIdentique(<Fichier de données> , <Rubrique clé> , <Valeur pour la composante 1 de la clé> [, <Valeur pour la composante 2 de la clé> [... [, <Valeur pour la composante N de la clé>]]])
<Résultat> : Chaîne de caractères
Rubrique de parcours. Correspond :
  • soit à la clé de parcours du fichier de données si le filtre est activé.
  • soit à une chaîne vide ("") si le filtre ne peut pas être mis en place.
<Fichier de données> : Chaîne de caractères
Nom du fichier de données HFSQL, de la vue ou de la requête manipulé.
<Rubrique clé> : Chaîne de caractères
Nom de la rubrique clé sur laquelle le filtre doit être réalisé. Cette rubrique peut être une clé simple de type chaîne ou une clé composée. Attention : ce paramètre ne doit contenir que des lettres, des caractères soulignés ou des chiffres. Dans le cas contraire, il faut entourer le nom de guillemets.
<Valeur pour la composante 1 de la clé> : Type de chaque composante de la clé de parcours
Valeur recherchée pour la première composante de la clé composée.
Le type de ce paramètre doit correspondre au type de la composante de la rubrique clé sur laquelle le filtre est défini.
<Valeur pour la composante 2 de la clé> : Type de chaque composante de la clé de parcours
Valeur recherchée pour la seconde composante de la clé composée.
Le type de ce paramètre doit correspondre au type de la composante de la rubrique clé sur laquelle le filtre est défini.
<Valeur pour la composante N de la clé> : Type de chaque composante de la clé de parcours
Valeur recherchée pour la composante N de la clé composée.
Le type de ce paramètre doit correspondre au type de la composante de la rubrique clé sur laquelle le filtre est défini.
Remarques

Gestion automatique des clés composées

La fonction HFiltreIdentique gère automatiquement les filtres sur les clés simples comme sur les clés composées.
Exemple : Utilisation de la fonction HFiltreIdentique avec une clé simple :
Res = HFiltreIdentique(Client, Nom, "Archambault")
// Sélection du client ayant pour nom Archambault
Exemple : Utilisation de la fonction HFiltreIdentique avec une clé composée
Res = HFiltreIdentique(Client, NomPrénom, "Archambault", "Corentin")
// Sélection de tous les clients ayant pour nom Archambault et
// pour prénom par Corentin
Cette ligne de code est équivalente à :
HFiltre(Client, NomPrénom, ...
HConstruitValClé(Client, NomPrénom, "Archambault", "Corentin"), ...  
HConstruitValClé(Client, NomPrénom, "Archambault", "Corentin")

Filtre et parcours filtré

Après l'exécution de la fonction HFiltreIdentique, le parcours du fichier de données doit obligatoirement être effectué sur la rubrique renvoyée par la fonction HFiltreIdentique. Si une autre rubrique est utilisée pour le parcours du fichier de données, le filtre ne sera pas pris en compte.
Lorsqu'un filtre est défini et activé sur un fichier de données (une vue ou une requête), tout enregistrement lu correspond au filtre. Si il n'y a plus d'enregistrement correspondant au filtre lors du parcours :
  • la fonction HEnDehors renvoie Vrai.
  • l'enregistrement en cours correspond au dernier enregistrement lu avec le filtre.
Par exemple :
Sur un fichier de données filtré, après la fonction :l'enregistrement en cours est :
HLitPremierle premier enregistrement du fichier de données correspondant au filtre.
HLitDernierle dernier enregistrement du fichier de données correspondant au filtre.
HLitSuivant (ou HAvance)l'enregistrement suivant (ou le nième suivant) correspondant au filtre.
HLitPrécédent (ou HRecule)l'enregistrement précédent (ou le nième précédent) correspondant au filtre.

Activation/Désactivation d'un filtre

  • La fonction HDésactiveFiltre permet de désactiver un filtre.
  • La fonction HActiveFiltre permet ré-activer un filtre.
  • Lorsque le fichier de données (la requête ou la vue) est fermé (fonctions HFerme ou HOuvreAnalyse par exemple), le filtre est supprimé.
  • A un même instant, il ne peut exister qu'un seul filtre sur un fichier de données (une requête ou une vue). Si la fonction HFiltreIdentique est utilisée plusieurs fois, seul le dernier filtre sera pris en compte : le(s) filtre(s) précédent(s) seront supprimés. De même si plusieurs filtres sont utilisés (fonctions HFiltre*), seul le dernier filtre sera pris en compte.
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidWidget AndroidCode Utilisateur (MCU)AjaxProcédures stockéesOLE DBConnecteurs Natifs (Accès Natifs)

Fichier de données non HFSQL

Composante : wd290hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale