PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Lecture selon une rubrique clé ou non
  • Parcours des enregistrements correspondant à une condition
  • Blocages
  • Mémos
  • Divers
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 précédent 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 grande valeur à la plus petite valeur de la rubrique de parcours (consultez les remarques pour plus de détails).
En général, la fonction HLitPré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 HLitPré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 la fonction HFiltre) : aucune lecture n'est effectuée et la fonction HEnDehors 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 HEnDehors renvoie Vrai.
    Windows Mobile La gestion des blocages est réalisée uniquement sur les fichiers de données HFSQL Client/Serveur ou manipulés par un accès natif. Il n'est pas possible de bloquer un enregistrement HFSQL Mobile. En effet, le système d'exploitation du Pocket PC ne permet pas de bloquer des enregistrements.
    PHP La gestion des blocages n'est pas disponible.
    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.
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Exemple
HLitDernier(Client, Nom)
TANTQUE HEnDehors() = Faux
// Traitement de l'enregistrement
HLitPrécédent(Client, Nom)
FIN
Syntaxe
<Résultat> = HLitPrécédent([<Nom du fichier> [, <Nom de la rubrique de parcours>] [, <Options>]])
<Résultat> : Booléen
  • Vrai si la lecture de l'enregistrement précédent a été réalisée,
  • Faux en cas d'erreur (blocage, fin du fichier de données, ...) : l'enregistrement n'est pas lu. Ce problème peut être dû :
    • soit à un problème de positionnement (fichier 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, de la vue HFSQL ou de la requête manipulé. Si ce paramètre correspond à une chaîne vide, la fonction HLitPrécédent 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 de parcours> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom de la rubrique utilisée pour parcourir le fichier de données. Si ce nom n'est pas spécifié, la fonction HLitPrécédent va utiliser :
  • Dans le cas d'un fichier de données : 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.
  • 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 HLitPrécédent.
  • la gestion des doublons. Par défaut, tous les doublons sont parcourus.
hBlocageNonAucun blocage (même si la fonction HDébutVerrou a été appelée) : l'enregistrement pourra être lu ou modifié par une autre application pendant la lecture.
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.
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é.
Windows Mobile La gestion des blocages est réalisée uniquement sur les fichiers de données HFSQL Client/Serveur ou manipulés par un accès natif. Il n'est pas possible de bloquer un enregistrement HFSQL Mobile. En effet, le système d'exploitation du Pocket PC ne permet pas de bloquer des enregistrements.
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 Les options de blocages spécifiées dans la fonction HLitPrécédent ne sont pas prises en compte. Le mode de blocage spécifié avec la fonction HLitPremier ou la fonction HLitDernier restera effectif lors des appels aux fonctions HLitPrécédent et HLitSuivant.
Pour modifier le mode de blocage, il est nécessaire d'utiliser :
Connecteurs Natifs (Accès Natifs) Pour l'Accès 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 lecture bloquantes (HLitPrécédentBloque) conservées par compatibilité.
PHP Ce paramètre est ignoré.
Java Accès par JDBC : Ce paramètre est ignoré.
Remarques

Lecture selon une rubrique clé ou non

Si la rubrique utilisée est une clé, la fonction HLitPrécédent 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é. Si la rubrique n'est pas une clé, la fonction HLitPrécédent lit l'enregistrement actif précédent. 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.

Parcours des enregistrements correspondant à une condition

En général, les fonctions HLitRecherche, HLitRecherchePremier, HLitRechercheDernier permettent de se positionner dans le fichier de données pour effectuer une boucle de parcours parmi les enregistrements correspondant à une condition. Les fonctions HLitSuivant et HLitPré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 HLitPrécédent lira les enregistrements précédents correspondant aux valeurs inférieures ou égales à la valeur recherchée.
  • si la rubrique utilisée n'est pas une clé, la fonction HLitPrécédent lira les enregistrements précédents 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 :
WINDEVWEBDEV - Code ServeurEtats et RequêtesiPhone/iPadWindows MobileUniversal Windows 10 AppAjaxCode Utilisateur (MCU)HFSQLHFSQL 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 demandé (constante hBlocageEcriture ou hBlocageLectureEcriture), la lecture de l'enregistrement sera réalisée 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 spécifié avec la fonction HDébutVerrou, utilisez la constante hBlocageNon.
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.

Mémos

Les mémos associés à l'enregistrement peuvent être automatiquement lus ou non lors de la lecture de l'enregistrement. La fonction HGèreMemo 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 HExtraitMémo).

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.
  • Pour optimiser le temps des premiers parcours d'un fichier de données, utilisez la fonction HOptimise sur ce fichier.
Composante : wd240hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire