DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Quand utiliser la fonction <Source>.ConstruitValClé ?
  • 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 <Source>.ConstruitValClé
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
Construit la valeur d'une clé composée pour réaliser un filtre (fonction <Source>.Filtre) ou effectuer une recherche (fonctions <Source>.LitRecherchePremier, <Source>.LitRechercheDernier, ...).
Cette fonction peut être remplacée par un tableau de valeurs, plus simple à utiliser. Par exemple :
NomFichier.LitRecherchePremier(CLECOMPREL, ["Le nom", "Le prénom"])
Equivalent à :
NomFichier.LitRecherchePremier(CLECOMPREL, ...
NomFichier.ConstruitValClé(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.
Exemple
bufValRech est un Buffer
 
// Construction de la clé composée
bufValRech = Client.ConstruitValClé(NOM_PRENOM, "MOULIN", "Françoise")
 
// Construction d'une clé composée Chaîne/Entier
bufValRech  = Client.ConstruitValClé(NOM_NUMCLI, "MOULIN", 12128)
 
// Construction d'une clé composée Entier/Entier
bufValRech  = Commande.ConstruitValClé(IDCOMMANDE_IDCOMMANDE, 12119,593)
Syntaxe
<Résultat> = <Source>.ConstruitValClé(<Clé composée> , <Valeur des composantes>)
<Résultat> : Buffer
Valeur de la clé composée.
<Source> : Type correspondant à la source spécifiée
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 <Source>.ConstruitValClé ?

La fonction <Source>.ConstruitValClé 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 :
FichierB.LitRecherchePremier(CLECOMPREL, FichierA.ConstruitValClé(CLECOMP, ...
"Le nom", "Le prénom"))
ou bien
bufCle est un Buffer
bufCle = FichierA.ConstruitValClé(CLECOMP, "Le nom", "Le prénom")
FichierB.LitRecherchePremier(CLECOMPREL, bufCle)
ou bien
FichierB.LitRecherchePremier(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 <Source>.ConstruitValClé :
FichierB.LitRecherchePremier(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 <Source>.ConstruitValClé.
  • 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" :
    Client.Filtre(...
    Client.ConstruitValClé(NomPrénom, "Moulin", "Françoise") + hValMin, ...
    Client.ConstruitValClé(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" :
    Client.Filtre(NomPrénom, ...
    Client.ConstruitValClé(NomPrénom, "Moulin" + hValMin), ...
    Client.ConstruitValClé(NomPrénom, "Moulin" + hValMax))
Remarques :
  • hValMin est équivalent à Caract(0)
  • hValMax est équivalent à caract(255)

Construire une clé composée sans utiliser la fonction <Source>.ConstruitValClé

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

Dernière modification : 20/06/2023

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