PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE


  • 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 HConstruitValClé
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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.
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
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é(<Nom du fichier> , <Nom de la clé composée> , <Valeur des composantes>)
<Résultat> : Buffer
Valeur de la clé composée.
<Nom du fichier> : Chaîne de caractères (avec ou sans guillemets)
Nom du fichier de données HFSQL utilisé.
<Nom de la clé composée> : Chaîne de caractères (avec ou sans guillemets)
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.PRENOM
  • 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 qu'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 HConstruitValClé

Pour construire la valeur d'une clé composée sans utiliser la fonction HConstruitValClé, deux solutions sont possibles :
  • Solution 1 : Utiliser un tableau de valeurs (solution conseillée) :
    Par exemple :
    HLitRecherchePremier(FICHIERB, CLECOMPREL, ["Le nom", "Le prénom"])
  • Solution 2 : Gérer chaque type de composantes :
    • compléter les composantes texte sur toute leur taille avec la constante hValMin.
    • convertir les composantes numériques grâce à la fonction HConvert.
      Par exemple :
      MaClécomposée = Complète(Client.NomClient, ...
      Dimension(Client.Nom), hValMin) + ...
      Complète(Client.Prénom, Dimension(Client.Prénom), hValMin)
      Remarque : Il est conseillé d'utiliser la fonction HConstruitValClé. La constante hValMin est équivalente à Caract(0).
Composante : wd240hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire