DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Quand utiliser la fonction HConstruitValClé ?
  • Recherche générique
  • Construire une clé composée utilisée dans un filtre avec bornes
  • Construire une clé composée sans utiliser la fonction HConstruitValClé
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
HConstruitValClé (Fonction)
En anglais : HBuildKeyValue
ODBCNon disponible avec ce type de connexion
Construit la valeur d'une clé composée pour réaliser un filtre (fonction HFiltre) ou effectuer une recherche (fonctions HLitRecherchePremier, HLitRechercheDernier, ...).
Cette fonction peut être remplacée par un tableau de valeurs, plus simple à utiliser. Par exemple :
HLitRecherchePremier(NomFichier, CLECOMPREL, ["Le nom", "Le prénom"])
Equivalent à :
HLitRecherchePremier(NomFichier, CLECOMPREL, ...
HConstruitValClé(NomFichier, CLECOMPREL, "Le nom", "Le prénom"))
Astuce : Pour parcourir un fichier de données selon une clé composée, utilisez l'instruction POUR TOUT sur clé composée (syntaxe 5).
Pour plus de détails sur la gestion des clés composées dans WINDEV, consultez Clés composées.
Rappel : Les clés composées sont des chaînes binaires dont le contenu ne peut pas être affiché directement.
bufValRech est un Buffer
 
// Construction de la clé composée
bufValRech = HConstruitValClé(Client, NOM_PRENOM, "MOULIN", "Françoise")
 
// Construction d'une clé composée Chaîne/Entier
bufValRech  = HConstruitValClé(Client, NOM_NUMCLI, "MOULIN", 12128)
 
// Construction d'une clé composée Entier/Entier
bufValRech  = HConstruitValClé(Commande, IDCOMMANDE_IDCOMMANDE, 12119,593)
Syntaxe
<Résultat> = HConstruitValClé(<Fichier de données> , <Clé composée> , <Valeur des composantes>)
<Résultat> : Buffer
Valeur de la clé composée.
<Fichier de données> : Chaîne de caractères
Nom du fichier de données HFSQL utilisé.
<Clé composée> : Chaîne de caractères
Nom de la rubrique correspondant à la clé composée
<Valeur des composantes> : Chaîne de caractères
Valeur à affecter à chaque composante de la clé composée. Ce paramètre est de la forme :
<Composante 1>, <Composante 2>, ..., <Composante N>
Par exemple : "MOULIN", "Françoise".
Remarques

Quand utiliser la fonction HConstruitValClé ?

La fonction HConstruitValClé peut et doit être utilisée pour la recherche sur les clés reliées (de type chaîne binaire) à des clés composées.
Quelques exemples :
  • Fichier FichierA :
    CLECOMP est une clé composée du fichier FichierA. Composition : FichierA.Nom+FichierA.Prénom
  • Fichier FichierB :
    CLECOMPREL est une clé de type chaîne binaire reliée à FichierA.CLECOMP.
Faire une recherche sur la valeur de la clé composée :
HLitRecherchePremier(FichierB, CLECOMPREL, HConstruitValClé(FichierA, CLECOMP, ...
"Le nom", "Le prénom"))
ou bien
bufCle est un Buffer
bufCle = HConstruitValClé(FichierA, CLECOMP, "Le nom", "Le prénom")
HLitRecherchePremier(FichierB, CLECOMPREL, bufCle)
ou bien
HLitRecherchePremier(FichierB, CLECOMPREL, FichierA.CLECOMP)
si FichierA est positionné sur l'enregistrement que l'on veut rechercher dans FichierB.
Il est également possible d'utiliser un tableau de valeurs à la place de la fonction HConstruitValClé :
HLitRecherchePremier(FichierB, CLECOMPREL, ["Le nom", "Le prénom"])

Recherche générique

Lorsque la recherche est générique, il n'est pas nécessaire de définir les valeurs de toutes les composantes. Seules les n premières valeurs sont nécessaires (avec n compris entre 1 et le nombre de composantes de la clé, bornes comprises).

Construire une clé composée utilisée dans un filtre avec bornes

Pour construire la valeur d'une clé composée utilisée dans un filtre, utilisez la fonction HConstruitValClé.
  • Si la borne minimale et la borne maximale du filtre doivent être identiques, il est nécessaire de compléter les bornes par les constantes hValMin et hValMax.
    L'exemple suivant permet de rechercher tous les enregistrements du fichier Client correspondant au nom "Françoise Moulin" :
    HFiltre(Client, ...
    HConstruitValClé(Client, NomPrénom, "Moulin", "Françoise") + hValMin, ...
    HConstruitValClé(Client, NomPrénom, "Moulin", "Françoise") + hValMax)
  • Si la borne minimale et la borne maximale doivent être identiques et si tous les composants de la clé ne sont pas spécifiés, il est nécessaire de compléter les bornes par les constantes hValMin et hValMax.
    L'exemple suivant permet de rechercher tous les enregistrements du fichier Client correspondant à "Moulin" :
    HFiltre(Client, NomPrénom, ...
    HConstruitValClé(Client, NomPrénom, "Moulin" + hValMin), ...
    HConstruitValClé(Client, NomPrénom, "Moulin" + hValMax))
Remarques :
  • hValMin est équivalent à Caract(0)
  • hValMax est équivalent à caract(255)

Construire une clé composée sans utiliser la fonction HConstruitValClé

Pour construire la valeur d'une clé composée sans utiliser la fonction HConstruitValClé, il est possible d'utiliser un tableau de valeurs.
Par exemple :
HLitRecherchePremier(FichierB, CLECOMPREL, ["Le nom", "Le prénom"])
Composante : wd290hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 12/07/2022

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