|
Trier un fichier avec les ordres Hxxx |
|
Developpeur WDF
Inscrit: 10/02/2005 14:25
De Lille
Post(s): 123
|
Bonjour a tous,
Voila je souhaiterais savoir s'il est possible de trierun fichier HF avec les ordres Hxxx tel que HLitRecherche
Etant donné que mes requetes SQL avec un Left Join consomment énormément de temps, je cherche une alternative On m'a dit il y a quelques temps d'utiliser les ordres H qui sont optimisé pour la Base HyperFile
Si quelqu'un a une solution car avec HLitRecherche il est nécessaire de mettre une valeur a rechercher
Merci d'avance
Contribution le : 29/06/2005 15:39
|
_________________
Windev POOOOWWWWAAA!!!!!!
|
|
Re: Trier un fichier avec les ordres Hxxx |
|
Animateur WDF
Inscrit: 26/06/2002 16:24
De wdforge.org
Post(s): 2822
|
Bonjour, Pourquoi ne pas utiliser une clé de parcours (même composée) construite a cet effet ? La suite est alors simple : // recherche générique
HLitRecherche(FICHIER,RUBRIQUE,ValeurGénérique)
TANTQUE PAS HEnDehors(FICHIER)
...
HLitSuivant(FICHIER,RUBRIQUE)
FIN
Je ne vois pas en quoi la valeur de hLitRecherche pose un problème mais il existe des alternative par les filtres et autres vues...
Contribution le : 29/06/2005 16:15
|
|
|
Re: Trier un fichier avec les ordres Hxxx |
|
Developpeur WDF
Inscrit: 10/02/2005 14:25
De Lille
Post(s): 123
|
Bah je veux juste trier le fichier donc je ne cherche pas de valeur précise
Pour faire simple : Admettons que j'ai un fichier rempli avec les lettres de l'alphabet
Comment je reconstruit le fichier trié?
Je fais un hLitrecherche(Fichier,Rubrique,"A") TANTQUE PAS HEndehors ... HLitSuivant(Fichier,Rubrique) FIN
Contribution le : 29/06/2005 16:53
|
_________________
Windev POOOOWWWWAAA!!!!!!
|
|
Re: Trier un fichier avec les ordres Hxxx |
|
Animateur WDF
Inscrit: 26/06/2002 16:24
De wdforge.org
Post(s): 2822
|
OK. Juste pour information, depuis DBase III, les bases fichiers dont HyperFile est un dérivé sont munies d'index (ou rubriques clé) qui sont en réalité des tables qui permettent un parcours ordonée sur une rubrique (ou un ensemble de). pour parcourir votre fichier selon l'ordre alhabetique il suffit de d'utiliser les fonction de lectures comme suit : // parcours tout le fichier
HLitPremier(FICHIER,Rubrique)
TANTQUE PAS HEnDehors(FICHIER)
Info(FICHIER.RUBRIQUE)
HLitSuivant(FICHIER,RUBRIQUE)
FIN
Pour limiter le parcours, utiliser un filtre... // parcours le fichier de C à D
cCle est une chaine = HFiltre(FICHIER,Rubrique,"C","D")
HLitPremier(FICHIER,cCle)
TANTQUE PAS HEnDehors(FICHIER)
Info(FICHIER.RUBRIQUE)
HLitSuivant(FICHIER,cCLe)
FIN
HDesactiveFiltre(FICHIER)
// parcours le fichier de C à la fin
cCle est une chaine = HFiltre(FICHIER,Rubrique,"C",hValMax)
HLitPremier(FICHIER,cCle)
TANTQUE PAS HEnDehors(FICHIER)
Info(FICHIER.RUBRIQUE)
HLitSuivant(FICHIER,cCLe)
FIN
HDesactiveFiltre(FICHIER)
// parcours le fichier du début à C
cCle est une chaine = HFiltre(FICHIER,Rubrique,hValMin,"C")
HLitPremier(FICHIER,cCle)
TANTQUE PAS HEnDehors(FICHIER)
Info(FICHIER.RUBRIQUE)
HLitSuivant(FICHIER,cCLe)
FIN
HDesactiveFiltre(FICHIER)
Contribution le : 30/06/2005 14:59
|
|
|
Re: Trier un fichier avec les ordres Hxxx |
|
Developpeur WDF
Inscrit: 10/02/2005 14:25
De Lille
Post(s): 123
|
Ok merci bien Romuald, Donc si j'ai bien compris pour parcourir mon fichier en le triant je fais :
cCle est une chaine=HFiltre(FICHIER,Rubrique,hValMin,hValMax)
HLitPremier(FICHIER,cCle)
TANTQUE PAS HEnDehors(FICHIER)
Info(FICHIER.RUBRIQUE)
HLitSuivant(FICHIER,cCLe)
FIN
HDesactiveFiltre(FICHIER)
Puis je construire la Rubrique comme suit???
HFiltre(FICHIER,[Rubrique1,Rubrique2],hValMin, hValMax)
PS : desol mais j'ai pas trop le temps de tester car je fais de la programmation de production en ce moment Projet en suspens lorsque surcharge en production
Contribution le : 30/06/2005 15:35
|
_________________
Windev POOOOWWWWAAA!!!!!!
|
|
Re: Trier un fichier avec les ordres Hxxx |
|
Animateur WDF
Inscrit: 26/06/2002 16:24
De wdforge.org
Post(s): 2822
|
Attention, j'ai indiqué les filtres uniquement si votre parcours est limité. Pour les parcours sur plusieurs rubriques je vous invite soit à filter des clés composée ( HConstruitValCle), soit à utiliser des requetes SQL (cf ce post) Il serait utile de perdre du temps à parcourir le guide de formation.
Contribution le : 30/06/2005 15:39
|
|
|
Re: Trier un fichier avec les ordres Hxxx |
|
Developpeur WDF
Inscrit: 10/02/2005 14:25
De Lille
Post(s): 123
|
Deja lu une bonne partie du guide... J'ai essayé avec les requetes et toujours le probleme avec left join qui induit un parcours de la requete extremement long dans mon cas. Je reviens sur un ancien post (cf : Post) J'ai tout essayer pour trier mon fichier sauf utiliser les ordres Hxxx donc je m'y essaie...
Contribution le : 30/06/2005 16:00
|
_________________
Windev POOOOWWWWAAA!!!!!!
|
|
Re: Trier un fichier avec les ordres Hxxx |
|
Animateur WDF
Inscrit: 17/05/2004 14:21
Post(s): 382
|
Avez-vous essayez les vues ??
Mickael
Contribution le : 30/06/2005 16:02
|
|
|
Re: Trier un fichier avec les ordres Hxxx |
|
Anonyme
|
Oui deja essayé les vues =>Leger gain de temps
Contribution le : 01/07/2005 09:39
|
|
|
Re: Trier un fichier avec les ordres Hxxx |
|
Animateur WDF
Inscrit: 17/05/2004 14:21
Post(s): 382
|
Et celà ne répond pas à votre problème ??
Mickael
Contribution le : 01/07/2005 09:44
|
|
|
Re: Trier un fichier avec les ordres Hxxx |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour,
Plutot que de tourner en rond a chercher quelque chose pour lequel nous ne connaissons pas les bases je vous invites à nous fournir ici voitre requete SQL afin que l'on puisse l'analyser et vous proposer le cas echéant, une méthode qui pourrait optimiser votre temps de réponse.
Contribution le : 01/07/2005 12:28
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|