- 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é
<Source>.ConstruitValClé (Fonction) En anglais : <Source>.BuildKeyValue
Non disponible avec ce type de connexion
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.
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"])
Documentation également disponible pour…
|
|
|