DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Lecture selon une clé
  • Comparaison des fonctions <Source>.Précédent et .LitPrécédent
  • Divers
  • Blocages
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
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 :
Client.Supprime()
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.
    Java Accès par JDBC : La gestion des blocages n'est pas disponible sur les bases de données accédées par JDBC.
Exemple
Client.Dernier(Nom)
TANTQUE Client.EnDehors() = Faux
	// Traitement de l'enregistrement
	Client.Précédent(Nom)
FIN
Syntaxe
<Résultat> = <Source>.Précédent([<Rubrique clé de parcours> [, <Options>]])
<Résultat> : Booléen
  • Vrai si le positionnement sur l'enregistrement a été effectué,
  • Faux en cas d'erreur. Ce problème peut être dû :
    • soit à un problème de positionnement (fichier de données vide, ...) : la fonction <Source>.Trouve renvoie Faux et HErreur renvoie 0.
    • soit à une erreur : la fonction HErreur renvoie un entier différent de 0. La fonction HErreurInfo permet d'obtenir plus de détails.
<Source> : Type correspondant à la source spécifiée
Nom du fichier de données HFSQL manipulé.
<Rubrique clé de parcours> : Chaîne de caractères optionnelle
Nom de la rubrique clé utilisée pour parcourir le fichier de données. Si ce nom n'est pas spécifié, la fonction <Source>.Précédent va manipuler la dernière rubrique de parcours utilisée sur ce fichier par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H). Si cette rubrique n'existe pas, la meilleure rubrique de parcours est automatiquement utilisée.
<Options> : Constante optionnelle
Paramètre le blocage et la gestion des doublons réalisés sur l'enregistrement sélectionné par la fonction <Source>.Précédent :
hBlocageEcritureBlocage en écriture : l'enregistrement sélectionné pourra être lu par une autre application mais ne pourra pas être modifié par une autre application.
hBlocageLectureEcritureBlocage en lecture/écriture : l'enregistrement sélectionné ne pourra ni être lu ni être modifié par une autre application.
hBlocageNonAucun blocage : l'enregistrement pourra être lu ou modifié par une autre application.
hDistinctSi des doublons sont présents, permet de se positionner uniquement sur un seul enregistrement parmi les doublons. Ce paramètre est pris en compte uniquement si le parcours est réalisé sur une rubrique clé.
Par défaut, tous les doublons sont parcourus.

Java Accès par JDBC : Ce paramètre est ignoré.
OLE DBConnecteurs Natifs (Accès Natifs) Si le provider OLE DB ou le Connecteur Natif utilisé ne gère pas les blocages, les options de blocage seront sans effet.
OLE DB Les options de blocages spécifiées dans la fonction <Source>.Précédent ne sont pas prises en compte. Le mode de blocage spécifié avec la fonction <Source>.Premier ou <Source>.Dernier restera effectif lors des appels aux fonctions <Source>.Précédent et <Source>.Suivant.
Pour modifier le mode de blocage, il est nécessaire d'utiliser :
Connecteurs Natifs (Accès Natifs) Pour le Connecteur Natif Oracle, il est possible de spécifier un mode de blocage différent pour chaque enregistrement. Cependant, si une transaction a été démarrée à l'aide de la fonction SQLTransaction avant de procéder au blocage, le blocage ne sera relâché qu'à la fin de la transaction (fonction SQLTransaction avec la constante sqlFin ou sqlAnnule).
Hyper File 5.5 Les options de blocage ne sont pas prises en compte. Utilisez des fonctions de blocage (fonction <Source>.BloqueNumEnr) conservées par compatibilité.
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.
WINDEVWEBDEV - Code ServeurUniversal Windows 10 AppiPhone/iPadJavaCode Utilisateur (MCU)Langage ExterneAjaxHFSQL ClassicHFSQL Client/ServeurProcédures stockéesHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs)

Divers

Le numéro de l'enregistrement en cours est connu avec la fonction <Source>.NumEnr.
La fonction <Source>.ChangeClé permet de modifier la clé de parcours, tout en restant positionné sur l'enregistrement en cours.
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppiPhone/iPadCode Utilisateur (MCU)Langage ExterneAjaxHFSQL ClassicHFSQL Client/ServeurProcédures stockéesOLE DBConnecteurs Natifs (Accès Natifs)

Blocages

Par défaut (paramètre <Option> non spécifié), aucun blocage de l'enregistrement n'est réalisé.
Si un blocage est demandé (constantes hBlocageEcriture ou hBlocageLectureEcriture), le positionnement sur l'enregistrement sera réalisé uniquement si cet enregistrement n'est pas déjà bloqué.
Composante : wd300hf.dll
Version minimum requise
  • Version 25
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 20/06/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale