OVH Cloud OVH Cloud

Pourquoi il commence sur la dernière ligne ?

5 réponses
Avatar
Stéphane Maillard
Bonjour,

Je pense que c'est une question idiote, mais on ne sait jamais.
Je fais une recherche avec ceci :
HLitRecherchePremier(Totaux, IDFiche, Fiche.IDFiche)
SI HTrouve() ALORS
TANTQUE PAS HEnDehors
TableAjouteLigne(Calcul5, Totaux.NomLigneTotaux, Totaux.TMSKg)
HLitSuivant(Totaux, IDFiche)
FIN
FIN

Pourquoi sur la TableAjouteLigne il m'ajoute la dernière en premier ? Est ce qu'il faut que je fasse HLitRechercheDernier ?
--

Cordialement

Stéphane Maillard
Rixy Software

5 réponses

Avatar
SC&B
"Stéphane Maillard" a écrit dans le
message de news:bklb09$48f$
Bonjour,

Je pense que c'est une question idiote, mais on ne sait jamais.
Je fais une recherche avec ceci :
HLitRecherchePremier(Totaux, IDFiche, Fiche.IDFiche)
SI HTrouve() ALORS
TANTQUE PAS HEnDehors
TableAjouteLigne(Calcul5, Totaux.NomLigneTotaux, Totaux.TMSKg)
HLitSuivant(Totaux, IDFiche)
FIN
FIN

Pourquoi sur la TableAjouteLigne il m'ajoute la dernière en premier ? Est


ce qu'il faut que je fasse HLitRechercheDernier ?


Bonjour,

TableAjouteLigne ajoute la ligne a la fin de la table, mais le
HlitRecherchePremier, lit le premier enregistrement trouvé, puis le
HlitSuivant le suivant, etc (ça c'est évident), donc votre table s'affiche
dans l'ordre physique ou sont trouvés les enregistrements.
Pour les avoir dans un ordre différent utilisez TableTrie

Sincères salutations
--
Jean-Claude FLAJOULOT
Sécurité, Conseil & Biométrie


enlever _no.spam pour avoir mon adresse de réponse
Avatar
farplus
Bonjour,

en principe c'est dans l'ordre.
Ta table n'est pas triée sous une autre rubrique ?
Fais un essai en modifiant la ligne
TableAjouteLigne(Calcul5, Totaux.NomLigneTotaux, Totaux.TMSKg)
en
trace(TableAjouteLigne(Calcul5, Totaux.NomLigneTotaux, Totaux.TMSKg))
il devrait être dans l'ordre
si jamais ça ne fonctionne pas (mais ça m'étonnerait) change ton code comme
ceci:
i est un entier
HLitRecherchePremier(Totaux, IDFiche, Fiche.IDFiche)
SI HTrouve() ALORS
TANTQUE PAS HEnDehors


i++
TableInsereLigne(Calcul5, I, Totaux.NomLigneTotaux, Totaux.TMSKg)
HLitSuivant(Totaux, IDFiche)
FIN
FIN



tiens nous au courant

A+
Avatar
farplus
Bonjour,

Jean-Claude FLAJOULOT a écrit:
TableAjouteLigne ajoute la ligne a la fin de la table,



donc à la 1ère ligne de libre...
Avatar
Stéphane Maillard
Bonjour,

Merci à tous pour vos réponse, voici ce que j'ai fais :
CleParcour = HFiltre(Totaux, IDFiche, Fiche.IDFiche)
SI CleParcour <> "" ALORS
HLitPremier(Totaux, CleParcour)
TANTQUE PAS HEnDehors()
eCompteur = TableOccurrence("Calcul5")
SI eCompteur = 0 ALORS
SI Totaux.NumLigne = 2 ALORS
HLitSuivant(Totaux, CleParcour)
TableAjouteLigne(Calcul5, Totaux.NomLigneTotaux, Totaux.TMSKg, Totaux.TUFV, Totaux.TUFL, Totaux.TPDING, Totaux.TPDIEG,
Totaux.TCAG, Totaux.TPG, Totaux.TMGG, Totaux.TNAG, Totaux.TZNMG, Totaux.TMNMG, Totaux.TCUMG, Totaux.TIMG, Totaux.TCOMG,
Totaux.TSEMG, Totaux.TFEMG)
HLitPrécédent(Totaux, CleParcour)
TableAjouteLigne(Calcul5, Totaux.NomLigneTotaux, Totaux.TMSKg, Totaux.TUFV, Totaux.TUFL, Totaux.TPDING, Totaux.TPDIEG,
Totaux.TCAG, Totaux.TPG, Totaux.TMGG, Totaux.TNAG, Totaux.TZNMG, Totaux.TMNMG, Totaux.TCUMG, Totaux.TIMG, Totaux.TCOMG,
Totaux.TSEMG, Totaux.TFEMG)
SORTIR
FIN
FIN
TableAjouteLigne(Calcul5, Totaux.NomLigneTotaux, Totaux.TMSKg, Totaux.TUFV, Totaux.TUFL, Totaux.TPDING, Totaux.TPDIEG,
Totaux.TCAG, Totaux.TPG, Totaux.TMGG, Totaux.TNAG, Totaux.TZNMG, Totaux.TMNMG, Totaux.TCUMG, Totaux.TIMG, Totaux.TCOMG,
Totaux.TSEMG, Totaux.TFEMG)
HLitSuivant(Totaux, CleParcour)
FIN
FIN

Comme je n'es que deux lignes, cela me les replaces correctement.

--

Cordialement

Stéphane Maillard
Rixy Software

"Stéphane Maillard" a écrit dans le message de news: bklb09$48f$
Bonjour,

Je pense que c'est une question idiote, mais on ne sait jamais.
Je fais une recherche avec ceci :
HLitRecherchePremier(Totaux, IDFiche, Fiche.IDFiche)
SI HTrouve() ALORS
TANTQUE PAS HEnDehors
TableAjouteLigne(Calcul5, Totaux.NomLigneTotaux, Totaux.TMSKg)
HLitSuivant(Totaux, IDFiche)
FIN
FIN

Pourquoi sur la TableAjouteLigne il m'ajoute la dernière en premier ? Est ce qu'il faut que je fasse HLitRechercheDernier ?
--

Cordialement

Stéphane Maillard
Rixy Software





Avatar
farplus
Bonjour,



Merci à tous pour vos réponse, voici ce que j'ai fais :
CleParcour = HFiltre(Totaux, IDFiche, Fiche.IDFiche)
SI CleParcour <> "" ALORS
HLitPremier(Totaux, CleParcour)
TANTQUE PAS HEnDehors()
eCompteur = TableOccurrence("Calcul5")
SI eCompteur = 0 ALORS
SI Totaux.NumLigne = 2 ALORS
HLitSuivant(Totaux, CleParcour)
TableAjouteLigne(Calcul5, Totaux.NomLigneTotaux, Totaux.TMSKg,


Totaux.TUFV, Totaux.TUFL, Totaux.TPDING, Totaux.TPDIEG,
Totaux.TCAG, Totaux.TPG, Totaux.TMGG, Totaux.TNAG, Totaux.TZNMG,


Totaux.TMNMG, Totaux.TCUMG, Totaux.TIMG, Totaux.TCOMG,
Totaux.TSEMG, Totaux.TFEMG)
HLitPrécédent(Totaux, CleParcour)
TableAjouteLigne(Calcul5, Totaux.NomLigneTotaux, Totaux.TMSKg,


Totaux.TUFV, Totaux.TUFL, Totaux.TPDING, Totaux.TPDIEG,
Totaux.TCAG, Totaux.TPG, Totaux.TMGG, Totaux.TNAG, Totaux.TZNMG,


Totaux.TMNMG, Totaux.TCUMG, Totaux.TIMG, Totaux.TCOMG,
Totaux.TSEMG, Totaux.TFEMG)
SORTIR
FIN
FIN
TableAjouteLigne(Calcul5, Totaux.NomLigneTotaux, Totaux.TMSKg,


Totaux.TUFV, Totaux.TUFL, Totaux.TPDING, Totaux.TPDIEG,
Totaux.TCAG, Totaux.TPG, Totaux.TMGG, Totaux.TNAG, Totaux.TZNMG,


Totaux.TMNMG, Totaux.TCUMG, Totaux.TIMG, Totaux.TCOMG,
Totaux.TSEMG, Totaux.TFEMG)
HLitSuivant(Totaux, CleParcour)
FIN
FIN




un peu compliqué non ?



Comme je n'es que deux lignes, cela me les replaces correctement.



avec 2 lignes seulement tu aurais pu écrire:
tablesupprimetout(table)
pour i=1 a 2
Hlit(fichier,i)
tableinsereligne(table,i,..)
fin


--

Cordialement

Stéphane Maillard
Rixy Software

"Stéphane Maillard" a écrit dans le


message de news: bklb09$48f$
> Bonjour,
>
> Je pense que c'est une question idiote, mais on ne sait jamais.
> Je fais une recherche avec ceci :
> HLitRecherchePremier(Totaux, IDFiche, Fiche.IDFiche)
> SI HTrouve() ALORS
> TANTQUE PAS HEnDehors
> TableAjouteLigne(Calcul5, Totaux.NomLigneTotaux, Totaux.TMSKg)
> HLitSuivant(Totaux, IDFiche)
> FIN
> FIN
>
> Pourquoi sur la TableAjouteLigne il m'ajoute la dernière en premier ?


Est ce qu'il faut que je fasse HLitRechercheDernier ?
> --
>
> Cordialement
>
> Stéphane Maillard
> Rixy Software
>
>
>