|
|
|
|
|
- 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é
HConstruitValClé (Fonction) En anglais : HBuildKeyValue
Non 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
bufValRech = HConstruitValClé(Client, NOM_PRENOM, "MOULIN", "Françoise")
bufValRech = HConstruitValClé(Client, NOM_NUMCLI, "MOULIN", 12128)
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"])
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|