|
| Question sur HFILTRE, je suis un peu bloqué ! |
| Iniciado por Jack, 26,may. 2019 19:01 - 9 respuestas |
| |
| | | |
|
| |
Miembro registrado 55 mensajes |
|
| Publicado el 26,mayo 2019 - 19:01 |
Bonsoir, je suis bloqué sur un pbs simple (enfin je pense). Je ne souhaite pas utiliser une requête, et désire afficher dans une table la liste des articles appartenant à un client IDxx et nom de l'article commençant par XXX lettres. Ex IDclient =1050, article="VIS METAL". j'ai plus de 800 000 références dans mon fichiers articles et environ 180 000 dans le fichier clients.
J'ai crée une rubrique composée IDCli+LibelleArticle … sur le fichier articles, lors du test si j'applique un filtre en utilisant le code ci-dessous :
HConstruitValClé(Customers,IDClientCustomerName,gFclients+gFLibArticle)
Dans cette ligne de code gFclients est l'ID de l'enregistrement client et gFLibArticle correspond au début de la réf (ex "VIS MET"). Rien ne s'affiche dans ma fenêtre de visu( basée sur un champ table), alors que je souhaiterai me positionner sur le premier enregistrement commencant par "VIS MET" et n'afficher que ceux dont le libellé commence par "VIS MET"
Si un de vous à une idée ? Merci d'avance Excellent fin de dimanche Cdlt Cyril |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.321 mensajes |
|
| Publicado el 27,mayo 2019 - 09:15 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 55 mensajes |
|
| Publicado el 27,mayo 2019 - 09:19 |
Bonjour Jean-Pierre merci de ce retour, et bien justement c'est sur le code du filtre que je "bloque", malgré la lecture de la doc ou les quelques exemples trouvés sur le forum. Je ne vois vas pas comment constituer ladite clé Merci Cdlt Cyril |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 4.362 mensajes |
|
| Publicado el 27,mayo 2019 - 10:02 |
Bonjour, Ce serait certainement plus facile avec une requête de type "LIKE" ("commence par" dans l'éditeur de requêtes.)
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 55 mensajes |
|
| Publicado el 27,mayo 2019 - 10:23 |
Bonjour Voroltinquo Merci, j'avais envisagé une requête type LIKE en SQL,, mais j'aurai voulu avoir l'avis des gourous WinDev (nous commençons à porter des applications #C sur WinDev) sur les options type Hfiltre et/ou clé composée, car cela me semblait possible... Si quelqu'un à 3 ou 4 lignes de code avec ces fonctions pour m'aiguiller ... Merci |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.321 mensajes |
|
| Publicado el 27,mayo 2019 - 11:08 |
Rebonjour Cyril,
Désolé, tu as l'air de savoir de quoi tu parles mais je ne comprends pas. Je te demande le code de ton filtre et tu réponds HConstruitValClé qui n'est que la construction de la clé. Comme le montrent les exemples :
HFiltre(Client, NomPrénom, ... HConstruitValClé(Client, NomPrénom, "Moulin" + hValMin), ... HConstruitValClé(Client, NomPrénom, "Moulin" + hValMax))
-- Bon dev, Jean-Pierre |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 55 mensajes |
|
| Publicado el 27,mayo 2019 - 11:16 |
Re bonjour Merci !! A la lecture de ta réponse, je pense comprendre ou est mon erreur .... Il faut donc d'abord faire un filtre puis utiliser l'instruction HconstruitValClé ? Voici le code de ma ligne Hconstruit.....
HConstruitValClé(Customers,IDClientArticleName,gFclients+gFLibArticle) Customers est le nom de mon fichier dans ma base IDClientCustumerName est le nom de la clé composée dans l'analyse : ID du client + Libellé du nom de l'article gFclients = ID clients passé en paramètre gFlibArticle = chaine de caractère venant d'un champs de saisie, ex "VIS MET"
J'ai déduit cette ligne de ma compréhension (je pense erronée) de la doc ... Quel filtre dois-je appliquer avant la construction de la clé ? Merci !! |
| |
| |
| | | |
|
| | |
| |
| Publicado el 28,mayo 2019 - 15:02 |
Bonjour Cyril,
pas certain également d'avoir saisi l'entier du problème mais je me permet de reprendre un extrait de l'aide sur HFILRE dan lequel on remarque qu'on créé une clé de parcours pour l'utiliser ensuite pour le / lors du parcours des données filtrées.
La syntaxe de la création de la clé peut être complexe mais permet beaucoup de chose.
Bonne suite !
Fabrice
// Filtre simple avec une condition : // Rechercher les clients d'une ville
CléParcours est une chaîne maville est une chaîne
maville = "MONTPELLIER" CléParcours = HFiltre(Client, "VILLE='" + maville + "'") HLitPremier(Client, CléParcours) TANTQUE HEnDehors() = Faux // Traitement de l'enregistrement ... HLitSuivant(Client, CléParcours) FIN // Annule le filtre HDésactiveFiltre(Client)
Le 26.05.2019 à 17:01, cyril a écrit :
Bonsoir, je suis bloqué sur un pbs simple (enfin je pense). Je ne souhaite pas utiliser une requête, et désire afficher dans une table la liste des articles appartenant à un client IDxx et nom de l'article commençant par XXX lettres. Ex IDclient =1050, article="VIS METAL". j'ai plus de 800 000 références dans mon fichiers articles et environ 180 000 dans le fichier clients. J'ai crée une rubrique composée IDCli+LibelleArticle … sur le fichier articles, lors du test si j'applique un filtre en utilisant le code ci-dessous : HConstruitValClé(Customers,IDClientCustomerName,gFclients+gFLibArticle) Dans cette ligne de code gFclients est l'ID de l'enregistrement client et gFLibArticle correspond au début de la réf (ex "VIS MET"). Rien ne s'affiche dans ma fenêtre de visu( basée sur un champ table), alors que je souhaiterai me positionner sur le premier enregistrement commencant par "VIS MET" et n'afficher que ceux dont le libellé commence par "VIS MET" Si un de vous à une idée ? Merci d'avance Excellent fin de dimanche Cdlt Cyril
--
Fabrice M. ------------------------------------- |
| |
| |
| | | |
|
| | |
| |
| Publicado el 28,mayo 2019 - 18:04 |
Bonjour,
en fait c'est ça que tu voudrais faire :
HFiltre(Customers, IDClientCustomerName, [gFclients, gFLibArticle + hMinVal], [gFclients, gFLibArticle + hMaxVal]) HLitPremier(Customers, IDClientCustomerName) TANTQUE PAS HEnDehors(Customers) HLitSuivant(Customers, IDClientCustomerName) FIN
Par contre tu dis que tu as créé la clé composée sur le fichier article alors que dans ton exemple ton fichier s'appelle Customers ? De plus la clé composée contient IDClient + CustomerName ? Alors qu'elle est sensée contenir IDClient + LibelléArticle d'après ce que tu dis... |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 55 mensajes |
|
| Publicado el 28,mayo 2019 - 21:04 |
Bonsoir J. Fernandez Exactement !! Merci 1000 fois Excellente soirée Cdlt Cyril |
| |
| |
| | | |
|
| | | | |
| | |
|