Positionne sur l'enregistrement précédent du fichier de données en fonction d'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
<Source>.NumEnr. Pour les fonctions manipulant par défaut le numéro de l'enregistrement en cours (fonctions
<Source>.Supprime,
<Source>.Lit,
<Source>.Modifie, ...), la valeur de ce numéro n'est pas mise à jour : il faut utiliser la fonction
<Source>.NumEnr(). Par exemple : ne pas faire :
mais
Client.Supprime(Client.NumEnr())
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
<Source>.Précédent permet de se positionner dans le fichier de données pour effectuer une boucle de parcours parmi les enregistrements correspondant à une condition. La fonction
<Source>.Suivant permet de se positionner sur l'enregistrement suivant correspondant à la condition.
Après l'exécution de la fonction <Source>.Précédent, plusieurs cas peuvent se présenter :
- un enregistrement correspondant à la condition a été trouvé : la fonction <Source>.Trouve renvoie Vrai
- le fichier de données est vide ou il n'existe pas d'enregistrement correspondant à la condition : la fonction <Source>.EnDehors renvoie Vrai
Remarques :
La lecture se fait de la plus grande valeur à la plus petite 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 <Source>.Précédent permet de se positionner dans le fichier de données lors d'une boucle de parcours.
Après l'exécution de la fonction <Source>.Précédent, 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 <Source>.Filtre) : la fonction <Source>.EnDehors renvoie Vrai.
- la fonction tente de bloquer un enregistrement déjà bloqué en lecture : la fonction HErreurBlocage renvoie Vrai et la fonction <Source>.EnDehors 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.
Remarques
Lecture selon une clé
La fonction
<Source>.Précédent 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é.
Comparaison des fonctions <Source>.Précédent et <Source>.LitPrécédent
La fonction
<Source>.Précédent ne lit pas l'enregistrement : la fonction
<Source>.Précédent est donc plus rapide que la fonction
<Source>.LitPrécédent.