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!!!!!!
Créer un fichier PDF de la contribution Imprimer


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
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


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!!!!!!
Créer un fichier PDF de la contribution Imprimer


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
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


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!!!!!!
Créer un fichier PDF de la contribution Imprimer


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
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


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!!!!!!
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


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.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2