PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Lecture selon une clé
  • Comparaison de HSuivant et HLitSuivant
  • Divers
  • Blocages
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Positionne sur l'enregistrement suivant 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 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 :
HSupprime(Client)
mais
HSupprime(Client, HNumEnr())
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).
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 HSuivant permet de se positionner dans le fichier de données lors d'une boucle de parcours.
Après l'exécution de la fonction HSuivant, 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 la fonction 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.

Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Exemple
HPremier(Client, Nom)
TANTQUE HEnDehors(Client) = Faux
// Traitement de l'enregistrement
HSuivant(Client, Nom)
FIN
Syntaxe
<Résultat> = Hsuivant([<Nom du fichier> [, <Nom de la 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 HTrouve renvoie Faux et la fonction 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.
<Nom du fichier> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom du fichier de données HFSQL. Si ce paramètre correspond à une chaîne vide (""), la fonction HSuivant manipule le dernier fichier de données utilisé par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H).
<Nom de la rubrique clé de parcours> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom de la rubrique clé utilisée pour parcourir le fichier de données. Si ce nom n'est pas spécifié, la fonction HSuivant va manipuler 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.
<Options> : Constante optionnelle
Paramètre le blocage et la gestion des doublons réalisés sur l'enregistrement sélectionné par la fonction HSuivant :
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.
OLE DB Blocage en écriture seulement : l'enregistrement en cours de lecture pourra être lu par une autre application mais ne pourra pas être modifié par une autre application.
Fonctionnement équivalent à hBlocageEcriture.
hBlocageNonAucun blocage (même si la fonction HDébutVerrou a été appelée) : 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.
OLE DBConnecteurs Natifs (Accès Natifs) Cette constante n'est pas prise en compte.
OLE DBConnecteurs Natifs (Accès Natifs) Si le provider OLE DB ou l'Accès Natif utilisé ne gère pas les blocages, les options de blocage seront sans effet.
OLE DB Le mode de blocage spécifié avec la fonction HLitPremier restera effectif lors des appels aux fonctions HLitPrécédent et HLitSuivant.
Pour modifier le mode de blocage, il est nécessaire d'utiliser :
Hyper File 5.5 Les options de blocage ne sont pas prises en compte. Utilisez des fonctions de blocage (fonction HBloqueNumEnr) conservées par compatibilité.
Remarques

Lecture selon une clé

La fonction HSuivant positionne sur l'enregistrement suivant 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 de HSuivant et HLitSuivant

La fonction HSuivant ne lit pas l'enregistrement : la fonction HSuivant est donc plus rapide que la fonction HLitSuivant.

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.
Etats et RequêtesHFSQLHFSQL Client/ServeurHyper 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 demandé (constantes hBlocageEcriture ou hBlocageLectureEcriture), le positionnement sur l'enregistrement sera réalisé uniquement si cet enregistrement n'est pas déjà bloqué.
Si le fichier de données est verrouillé par la fonction HDébutVerrou, il est inutile de spécifier un paramètre de blocage : le blocage spécifié avec la fonction HDébutVerrou est automatiquement pris en compte. Pour ne pas prendre en compte le blocage réalisé par la fonction HDébutVerrou, utilisez la constante hBlocageNon.
Composante : wd240hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire