Positionne sur le dernier enregistrement d'un fichier de données selon une rubrique de parcours.
L'enregistrement n'est pas lu.
Le numéro de l'enregistrement en cours est modifié uniquement lorsqu'il est renvoyé par la fonction
HNumEnr. Pour les fonctions manipulant par défaut le numéro de l'enregistrement en cours (fonctions
HSupprime,
HLit,
HModifie, ...), la valeur de ce numéro n'est pas mise à jour : il faut utiliser la fonction
HNumEnr(). Par exemple : ne pas faire :
mais
HSupprime(Client, HNumEnr())
La lecture se fait de la plus petite à la plus grande valeur de la rubrique de parcours (consultez les remarques pour plus de détails).
Attention : L'enregistrement chargé en mémoire n'est pas modifié. Les variables HFSQL (par exemple Client.Nom, c'est-à-dire la rubrique Nom du fichier Client) ne sont pas mises à jour.
En général, la fonction
HDernier permet de se positionner dans le fichier de données pour effectuer une boucle de parcours parmi les enregistrements correspondant à une condition. La fonction
HSuivant permet de se positionner sur l'enregistrement suivant correspondant à la condition.
Après l'exécution de la fonction HDernier, plusieurs cas peuvent se présenter :
- un enregistrement correspondant à la condition a été trouvé : la fonction HTrouve renvoie Vrai
- le fichier de données est vide ou il n'existe pas d'enregistrement correspondant à la condition : la fonction HEnDehors renvoie Vrai
Remarques :
- Par défaut, les fonctions HRecherchePremier et HRechercheDernier permettent de réaliser une recherche à l'identique.
- Par défaut, la fonction HDernier effectue une recherche générique.
Versions 15 et supérieures
Nouveauté 15
Versions 17 et supérieures
Nouveauté 17
Versions 18 et supérieures
Nouveauté 18 Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Versions 21 et supérieures
Nouveauté 21La lecture est réalisée pour la plus grande valeur de la rubrique de parcours (consultez
les remarques pour plus de détails).
Attention : L'enregistrement chargé en mémoire n'est pas modifié. Les variables HFSQL (par exemple Client.Nom, c'est-à-dire la rubrique Nom du fichier de données Client) ne sont pas mises à jour.
En général, la fonction
HDernier permet de se positionner dans le fichier de données pour effectuer une boucle de lecture avec la fonction
HPrécédent.
Après l'exécution de la fonction HDernier, plusieurs cas peuvent se présenter :
- le fichier de données est vide ou il n'existe pas d'enregistrement correspondant au filtre (défini par HFiltre) : la fonction HEnDehors renvoie Vrai.
- la fonction tente de bloquer un enregistrement déjà bloqué en lecture : la fonction HErreurBlocage renvoie Vrai et la fonction HEnDehors renvoie Vrai.
Accès par JDBC : La gestion des blocages n'est pas disponible sur les bases de données accédées par JDBC.
La gestion des blocages n'est pas disponible sur les bases de données SQLite.
Versions 15 et supérieures
Nouveauté 15
Versions 17 et supérieures
Nouveauté 17
Versions 18 et supérieures
Nouveauté 18
Versions 21 et supérieures
Nouveauté 21 Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL. Remarques
Lecture selon une clé
La fonction
HDernier positionne sur l'enregistrement pour lequel la valeur de la clé est la plus grande.
L'ordre de tri pris en compte est l'ordre de tri spécifié dans l'analyse pour cette clé.
En cas de doublons, la fonction HDernier positionne sur le dernier enregistrement "doublon" selon l'ordre des numéros d'enregistrement.
Divers
- Le numéro de l'enregistrement en cours est connu avec la fonction HNumEnr.
- La fonction HChangeClé permet de modifier la clé de parcours, tout en restant positionné sur l'enregistrement en cours.
Comparaison HLitDernier et HDernier
La fonction
HDernier ne lit pas l'enregistrement : la fonction
HDernier est donc plus rapide que la fonction
HLitDernier.