DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Lecture selon une rubrique clé ou non
  • Mémos
  • Parcours des enregistrements correspondant à une condition
  • Modification de la valeur de la clé de parcours
  • Blocages
  • Divers
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 suivant d'un fichier de données en fonction d'une rubrique de parcours. L'enregistrement est lu et les variables HFSQL sont mises à jour (par exemple Client.Nom, c'est-à-dire la rubrique Nom du fichier Client).
La lecture se fait de la plus petite valeur à la plus grande valeur de la rubrique de parcours (consultez les remarques pour plus de détails).
La fonction <Source>.LitSuivant permet de se positionner dans le fichier de données lors d'une boucle de parcours. Cette fonction peut être exécutée uniquement :
Après l'exécution de la fonction <Source>.LitSuivant, plusieurs cas peuvent se présenter :
  • le fichier est vide ou il n'existe pas d'enregistrement correspondant au filtre (défini par la fonction <Source>.Filtre) : aucune lecture n'est effectuée et la fonction <Source>.EnDehors renvoie Vrai.
  • la fonction tente de bloquer un enregistrement déjà bloqué en lecture : aucune lecture n'est effectuée, la fonction HErreurBlocage renvoie Vrai et la fonction <Source>.EnDehors renvoie Vrai.

    PHP Les blocages ne sont pas disponibles en PHP.

    Java Accès par JDBC : La gestion des blocages n'est pas disponible sur les bases de données accédées par JDBC.
Cette fonction peut être utilisée indifféremment avec les fichiers de données, les vues HFSQL ou les requêtes.
Exemple
Client.LitPremier(Nom)
TANTQUE Client.EnDehors() = Faux
	// Traitement de l'enregistrement
	Client.LitSuivant(Nom)
FIN
Syntaxe
<Résultat> = <Source>.LitSuivant([<Rubrique de parcours> [, <Options>]])
<Résultat> : Booléen
Correspond à :
  • Faux en cas d'erreur. Dans ce cas, la fonction HErreur renvoie un entier différent de 0. La fonction HErreurInfo permet d'obtenir plus de détails sur l'erreur. L'enregistrement n'est pas lu.
  • la valeur de la fonction <Source>.Trouve dans les autres cas (l'enregistrement peut être lu, même si <Résultat> renvoie Faux).
<Source> : Type correspondant à la source spécifiée
Nom du fichier de données, de la vue ou de la requête manipulé.
<Rubrique de parcours> : Chaîne de caractères optionnelle
Nom de la rubrique utilisée pour parcourir le fichier de données, la vue ou la requête. Si ce nom n'est pas spécifié, la fonction <Source>.LitSuivant va utiliser :
  • Dans le cas d'un fichier de données : la dernière rubrique de parcours utilisée sur ce fichier de données 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.
  • Dans le cas d'une requête : le ORDER BY de la requête si il existe, sinon selon la dernière rubrique utilisée.
  • Dans le cas d'une vue : la rubrique de tri de la vue (si elle existe), sinon sur la dernière rubrique utilisée.
<Options> : Constante ou combinaison de constantes optionnelle
Permet de paramétrer :
  • le blocage réalisé sur l'enregistrement lu par la fonction <Source>.LitSuivant
  • la gestion des doublons. Par défaut, tous les doublons sont parcourus.
hBlocageEcritureBlocage en écriture : l'enregistrement en cours de lecture pourra être lu par une autre application mais ne pourra pas être modifié par une autre application.
hBlocageLectureEcritureBlocage en lecture/écriture : l'enregistrement en cours de lecture 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 pendant la lecture.
hDistinctSi des doublons sont présents, ce paramètre permet de lire un seul enregistrement parmi les doublons. Ce paramètre est pris en compte uniquement si le parcours est réalisé sur une rubrique clé.

OLE DBConnecteurs Natifs (Accès Natifs) Cette constante n'est pas prise en compte.

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 (également appelé Accès 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>.LitSuivant ne sont pas prises en compte. Le mode de blocage spécifié avec la fonction <Source>.LitPremier ou <Source>.LitDernier restera effectif lors des appels aux fonctions <Source>.LitSuivant et <Source>.LitPrécédent.
Pour modifier le mode de blocage, il est nécessaire d'utiliser :
PHP Le paramètre <Options> est ignoré.
Remarques

Lecture selon une rubrique clé ou non

Si la rubrique utilisée est une clé, la fonction <Source>.LitSuivant lit 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é.
Remarque : Dans le cas d'une boucle de recherche (fonction <Source>.LitRecherchePremier par exemple), quand la fonction <Source>.LitSuivant lit l'enregistrement pour lequel la valeur de la clé est la plus grande, la fonction <Source>.Trouve permet de savoir si l'enregistrement correspond au critère de la recherche ou non.
Si la rubrique n'est pas une clé, la fonction <Source>.LitSuivant lit l'enregistrement actif suivant. En cas de parcours du fichier de données, les enregistrements seront triés selon leur numéro d'enregistrement.
Dans ce cas, la rubrique de parcours sélectionnée apparaîtra en rouge sous l'éditeur de code et un warning sera affiché dans le volet "Code".
Remarque : La complétion automatique propose uniquement les rubriques clés.

Mémos

Les mémos associés à l'enregistrement peuvent être automatiquement lus ou non lors de la lecture de l'enregistrement. La fonction <Source>.GèreMémo permet de personnaliser cette lecture automatique.
Si les mémos sont gérés, lorsque l'enregistrement est lu, les mémos texte associés sont également lus. Les mémos binaires ne sont lus que lorsqu'ils sont utilisés explicitement (fonction <Source>.ExtraitMémo).

Parcours des enregistrements correspondant à une condition

En général, les fonctions <Source>.LitRecherche, <Source>.LitRecherchePremier, <Source>.LitRechercheDernier permettent de se positionner dans le fichier de données pour effectuer une boucle de parcours parmi les enregistrements correspondant à une condition. Les fonctions <Source>.LitSuivant et <Source>.LitPrécédent permettent de lire l'enregistrement suivant ou précédent correspondant à la condition :
  • si la rubrique utilisée est une clé, la fonction <Source>.LitSuivant lira les enregistrements suivants correspondant aux valeurs supérieures ou égales à la valeur recherchée.
  • si la rubrique utilisée n'est pas une clé, la fonction <Source>.LitSuivant lira les enregistrements suivants correspondant aux valeurs égales à la valeur recherchée.
Pour ne plus tenir compte de la recherche lors du passage à l'enregistrement suivant ou précédent, il suffit d'utiliser une des fonctions suivantes :
Attention : si un parcours doit être effectué avec la fonction <Source>.LitSuivant, la recherche initiale (fonctions <Source>.LitRecherche, <Source>.LitRecherchePremier, <Source>.LitRechercheDernier) ne doit pas utiliser la constante hLimiteParcours.

Modification de la valeur de la clé de parcours

Si la valeur de la rubrique de parcours est modifiée avant d'utiliser la fonction <Source>.LitSuivant, l'enregistrement en cours pourra être lu à nouveau dans la suite du parcours par la fonction <Source>.LitSuivant.
En effet, la modification de la rubrique de parcours met à jour la clé d'index du fichier. Lors de la lecture des enregistrements suivants, cette modification est prise en compte.
Cette remarque est également valable lors de l'utilisation de la fonction <Source>.LitSuivant sans clé de parcours sur une requête triée (ORDER BY).
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppiPhone/iPadCode Utilisateur (MCU)AjaxHFSQL ClassicHFSQL Client/ServeurProcédures stockéesHyper File 5.5OLE 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 spécifié (paramètres hBlocageEcriture ou hBlocageLectureEcriture), la lecture de l'enregistrement sera réalisée uniquement si cet enregistrement n'est pas déjà bloqué.
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.

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.
  • Pour optimiser le temps des premiers parcours d'un fichier de données, utilisez la fonction <Source>.Optimise sur ce fichier de données.
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