PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Hlitrechercheprécédent ?
Hlitrechercheprécédent ?
Iniciado por Fuama, 08,feb. 2019 13:00 - 3 respuestas
Miembro registrado
25 mensajes
Publicado el 08,febrero 2019 - 13:00
Bonjour, je cherche à me positionner sur l'avant dernier enregistrement de ma table.
J'ai utilisé un hlitdernier cependant je ne veux pas celui-là mais celui d'avant. J'ai essayé hlitprécédent mais cela ne me permet pas de me placer dessus. Auriez-vous une technique pour pouvoir faire l'équivalent d'un hlitrechercheprécédent ?
Merci d'avance de votre aide, je vous met mon code.
SI FicheAttribution.IDMaterielFicheAttrib = Null _OU_ FicheAttribution.IDSite = Null _OU_ FicheAttribution.DateDebutFicheAttrib = Null ALORS
Info("Les champs matériel, site et date de début doivent être saisis ou sélectionnés.")
SINON
// Lecture des informations saisies
EcranVersFichier()
// S'il s'agit d'un nouvel enregistrement
SI Attribution..NouvelEnregistrement = Vrai ALORS
// On l'ajoute
HAjoute(Attribution)
//--------------------------------------------------------------------------------------------------------

HLitRechercheDernier(Attribution,IDMateriel,IDMaterielFicheAttrib..Valeur)
HLitPrécédent(Attribution,IDMateriel,IDMaterielFicheAttrib..Valeur)

//--------------------------------------------------------------------------------------------------------
SI HTrouve() ALORS
SI Attribution.DateFin = "" ALORS
Attribution.DateFin = DateDebutFicheAttrib..Valeur
HModifie(Attribution)
// // Lecture des informations saisies
// EcranVersFichier()
FIN
FIN
SINON
// On le modifie
HModifie(Attribution)
FIN
// Ferme la fenêtre
Ferme("",Vrai)
FIN
Mensaje modificado, 08,febrero 2019 - 13:02
Miembro registrado
45 mensajes
Publicado el 08,febrero 2019 - 16:42
Bonjour

Ton problème m'en rappelle un très ancien pour moi mais en cobol.
C'est peut-être idiot de ma part mais tu pourrait essayer

LitRechercheDernier(Attribution,IDMateriel,IDMaterielFicheAttrib..Valeur)
HLitPrécédent(Attribution,IDMateriel,IDMaterielFicheAttrib..Valeur)
SI HTrouve() ALORS
HLitPrécédent(Attribution,IDMateriel,IDMaterielFicheAttrib..Valeur)
SI HTrouve() ALORS
......
... c'est bien 2 lectures avant successives !
Miembro registrado
86 mensajes
Publicado el 09,febrero 2019 - 08:59
Bonjour
Tout simplement
Pour se positionner sur le dernier enregistrement !
HLitDernier(EcrituresTempo,IDEcritures)


Pour ce positionner sur l"avant dernier enregistrement :
HLitPrécédent(EcrituresTempo,IDEcritures)

FichierVersEcran(FEN_test)

Bon dev

--
On a le droit de ne pas savoir, on n'a pas le droit de ne pas apprendre
Jean Claude Boulet
Miembro registrado
25 mensajes
Publicado el 11,febrero 2019 - 10:23
GpEp ducoup ce que tu fais me prend l'avant avant dernier non ? ^^
Chambiges j'ai testé et ça fonctionne, merci ! Finalement je n'étais pas très loin du résultat !