Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Parcours un fichier selon un critere

17 réponses
Avatar
Questionneur
Bonjour, encore moi.

J'aimerai faire un truc simple:
parcours tous les enregistrement d'un article d'une marque d=E9termin=E9e
XX

Je le fais comme cela:

SI HlitRecherchePremier(ARTICLE,CODE_MARQUE,"XX") ALORS
TANTQUE HTrouve(ARTICLE)
Trace(ARTICLE.CODE_ARTICLE)
HLitSuivant(ARTICLE)
FIN
FIN

ce code marche sauf que la liste des articles n'est pas parcouru en
ordre alphab=E9tique des CODE_ARTICLES.

D'o=F9 ma question: suis-je oblig=E9 de pass=E9 par une requ=EAte ou une vu=
e?

Merci d'avance

7 réponses

1 2
Avatar
Romain PETIT
VPSoft a écrit :
Salut,
... ou alors utiliser l'autre syntaxe de hFiltre pour indiquer la clé qu'on
VEUT utiliser :

HFiltre(ARTICLE, CODE_ARTICLE, hValMin(), hValMax(), "CODE_MARQUE = 'XXXXX'")



C'est bien la syntaxe que j'ai utilisé dans l'exemple...
Mais attention, à priori, rien ne certifie que c'est au final
CODE_ARTICLE qui est renvoyé par la fonction HFiltre, même avec cette
syntaxe !

D'ailleurs dans l'aide à HFiltre, c'est bien précisé et l'exemple est
similaire.
"
[...]
le filtre est créé : HFiltre renvoie la clé de parcours *optimale* à
utiliser pour réaliser le parcours du fichier, de la vue ou de la
requête.
"

A+

--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Avatar
VPSoft
"Romain PETIT" a écrit dans le message de news:

VPSoft a écrit :
Salut,
... ou alors utiliser l'autre syntaxe de hFiltre pour indiquer la clé
qu'on VEUT utiliser :

HFiltre(ARTICLE, CODE_ARTICLE, hValMin(), hValMax(), "CODE_MARQUE =
'XXXXX'")



C'est bien la syntaxe que j'ai utilisé dans l'exemple...
Mais attention, à priori, rien ne certifie que c'est au final CODE_ARTICLE
qui est renvoyé par la fonction HFiltre, même avec cette syntaxe !

D'ailleurs dans l'aide à HFiltre, c'est bien précisé et l'exemple est
similaire.
"
[...]
le filtre est créé : HFiltre renvoie la clé de parcours *optimale* à
utiliser pour réaliser le parcours du fichier, de la vue ou de la requête.
"



Salut Romain,

Regardes bien : Je n'indique pas "Résultat = hFiltre...." mais seulement
"hFiltre..." et...ça marche !

En fait, j'utilise une classe mise au point depuis WD5.5. D'ailleurs, il me
semble bien que tu en es à l'origine et ça fonctionnait tellement bien que
je n'ai jamais cherché à faire autre chose :-)
Je n'ai donc pas implémenté les évolutions de WD en la matière. C'est peut
être une mauvaise idée. Je tâcherai de me mettre à jour.
En tout cas, ça marche comme indiqué, ou alors, je devrais m'inquiéter car
j'ai peut être des dysfonctionnements non visibles :-)

Bonne journée,

Victor
Avatar
Firetox
bonjour,

le filtre est créé : HFiltre renvoie la clé de parcours *optimale* à
utiliser pour réaliser le parcours du fichier, de la vue ou de la
requête.





oui c'est vrai dans la 3 eme forme
Hfiltre(Fichier,condition)

un peu comme une requete dans ce cas hfiltre renvoie la cle optimale qu'il a
trouvé

mais si on passe dans 1 des 2 premieres formes il utilise toujours la cle
passée dans notre exemple un filtre sur code_article (avec condtion
derriere) renverra toujours code_artile comme cle car deja c'en est une et
on demande un filtre sur elle

par contre la 3 eme forme elle ne specifie pas de cle mais juste une
condition et donc HF va chercher la cle la plus optimale comme le fait mySQL
quand on execute une requete

cordialement
Avatar
Romain PETIT
Dans son message précédent, Firetox a écrit :
bonjour,



Bonjour,

le filtre est créé : HFiltre renvoie la clé de parcours *optimale* à
utiliser pour réaliser le parcours du fichier, de la vue ou de la requête.





mais si on passe dans 1 des 2 premieres formes il utilise toujours la cle
passée dans notre exemple un filtre sur code_article (avec condtion derriere)
renverra toujours code_artile comme cle car deja c'en est une et on demande
un filtre sur elle



C'est vrai...en pratique (je n'ai effectivement jamais expérimenté le
cas où WD renvoie une autre valeur pour la clé retournée par HFIltre
que celle donnée en paramètre).
Mais selon la doc, ce n'est pas à 100% certain (ou alors la doc devrait
préciser ce point).
Pour preuve, l'exemple donné dans l'aide à HFiltre montre la syntaxe
avec une clé passée en paramètre MAIS utilise le retour de HFiltre pour
la lecture HLP..HLS.

A+

--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Avatar
TT
Le Tue, 11 May 2010 14:45:54 +0200, Questionneur >
a écrit:

Bonjour, encore moi.

J'aimerai faire un truc simple:
parcours tous les enregistrement d'un article d'une marque déterm inée
XX

Je le fais comme cela:

SI HlitRecherchePremier(ARTICLE,CODE_MARQUE,"XX") ALORS
TANTQUE HTrouve(ARTICLE)
Trace(ARTICLE.CODE_ARTICLE)
HLitSuivant(ARTICLE)
FIN
FIN

ce code marche sauf que la liste des articles n'est pas parcouru en
ordre alphabétique des CODE_ARTICLES.

D'où ma question: suis-je obligé de passé par une requà ªte ou une vue?

Merci d'avance



Pourquoi ne pas faire une requête ?

--
TT
Avatar
TT
Le Fri, 14 May 2010 13:23:35 +0200, TT a écrit:

Le Tue, 11 May 2010 14:45:54 +0200, Questionneur
a écrit:

Bonjour, encore moi.

J'aimerai faire un truc simple:
parcours tous les enregistrement d'un article d'une marque déter minée
XX

Je le fais comme cela:

SI HlitRecherchePremier(ARTICLE,CODE_MARQUE,"XX") ALORS
TANTQUE HTrouve(ARTICLE)
Trace(ARTICLE.CODE_ARTICLE)
HLitSuivant(ARTICLE)
FIN
FIN

ce code marche sauf que la liste des articles n'est pas parcouru en
ordre alphabétique des CODE_ARTICLES.

D'où ma question: suis-je obligé de passé par une requ ête ou une vue?

Merci d'avance



Pourquoi ne pas faire une requête ?



et tu peux faire en plus (sans hlit hendehors , ni ...)

POUR TOUT REQUETE
...
FIN

--
TT
Avatar
Dc
Bjr,

Dans son message précédent, TT a écrit :
POUR TOUT REQUETE
...
FIN



Et tant qu'a faire, meme sans requete :
Pour tout mon_fichier sur maclé avec codemarque= xxx

a plus

--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------
1 2