PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Lecture selon une rubrique clé ou non
  • Mémos
  • Blocage
  • Divers
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Avance de plusieurs enregistrements dans le fichier de données, à partir de la position en cours, selon une rubrique spécifiée.
L'enregistrement destination est lu et chargé en mémoire : les variables HFSQL sont mises à jour (par exemple Client.Nom, c'est-à-dire la rubrique Nom du fichier Client).
Après l'exécution de la fonction HAvance, plusieurs cas peuvent se présenter :
  • il n'existe plus d'enregistrements dans le fichier de données: la fonction HEnDehors renvoie Vrai. Aucune lecture n'est effectuée.
  • la fonction tente de bloquer un enregistrement déjà bloqué en lecture : 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 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.
    Android La gestion des blocages n'est pas disponible sur les bases de données SQLite.
Cette fonction peut être utilisée indifféremment avec les fichiers, 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.
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.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
// Avance jusqu'au 2000ième enregistrement
// du fichier Client selon la clé NomClient
HLitPremier(Client, NomClient)
HAvance(Client, NomClient, 1999)
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindows MobileJavaCode Utilisateur (MCU)HFSQLHFSQL Client/ServeurHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs)
// Test du compte-rendu de la fonction HAvance
// Avance jusqu'au 2000ième enregistrement
// du fichier Client selon la clé NomClient
HLitPremier(Client, NomClient)
SI HAvance(Client, NomClient, 1999, hBlocageEcriture) = Faux ALORS
SI HErreurBlocage() = Vrai ALORS
Info("Cet enregistrement est en cours d'utilisation")
SINON
Erreur(HErreurInfo())
FIN
FIN
Syntaxe
<Résultat> = HAvance([<Fichier de données>] [, <Rubrique> [, <Pas> [, <Options>]]])
<Résultat> : Booléen
  • Vrai si l'avancement dans le fichier a été effectué,
  • Faux en cas d'erreur (blocage, fin du fichier, etc.) : l'enregistrement n'est pas lu. La fonction HErreur permet d'identifier l'erreur.
<Fichier de données> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom du fichier de données, de la vue ou de la requête manipulé.
Si ce nom n'est pas spécifié, la fonction HAvance va manipuler le dernier fichier de données utilisé par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H).
PHP Ce paramètre correspond uniquement à un nom de fichier de données.
<Rubrique> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom de la rubrique selon laquelle le parcours est effectué.
Si ce nom n'est pas spécifié, la fonction HAvance va manipuler la dernière rubrique du fichier de données utilisée par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H).
<Pas> : Entier optionnel
Nombre de pas en avant (c'est-à-dire nombre d'enregistrements à parcourir). Par défaut, <Pas> = 1.
PHP Si le paramètre <Rubrique> a été spécifié, le paramètre <Pas> est obligatoire.
<Options> : Constante ou combinaison de constantes optionnelle de type entier
Paramètre :
  • le blocage de l'enregistrement lu. Par défaut, le blocage réalisé correspond au blocage en cours.
    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.

    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 Connecteur 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 le Connecteur Natif utilisé ne gère pas les blocages, les options de blocage seront sans effet.
    Java Accès par JDBC : La gestion des blocages n'est pas disponible sur les bases de données accédées par JDBC.
    AndroidWidget Android La gestion des blocages n'est pas disponible sur les bases de données SQLite.
  • la gestion des doublons lors du parcours. Par défaut, tous les doublons sont parcourus.
    hDistinctLors d'un parcours sur une rubrique clé, s'il y a des doublons, un seul enregistrement est parcouru.
Hyper File 5.5 Le paramètre <Options> n'est pas pris en compte.
PHP Le paramètre <Options> n'est pas pris en compte.
Remarques

Lecture selon une rubrique clé ou non

Dans tous les cas, le parcours doit avoir été initialisé avec une des fonctions suivantes : HLitPremier, HPremier, HLitRecherchePremier, HRecherchePremier, HChangeClé, HRetourPosition.
Si la rubrique utilisée est une clé :
  • si la constante hDistinct n'est pas précisée, la fonction HAvance permet d'avancer de <Pas> valeurs de la clé à partir de la position en cours.
  • si la constante hDistinct est précisée, la fonction HAvance permet d'avancer de <Pas> valeurs de la clé distinctes à partir de la position en cours. Si des doublons sont rencontrés, un seul doublon est lu.
Si la rubrique utilisée n'est pas une clé :
  • la constante hDistinct n'est pas disponible.
  • la fonction HAvance permet d'avancer de <Pas> enregistrements actifs à partir de la position en cours.

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).
WINDEVWEBDEV - Code ServeurEtats et RequêtesiPhone/iPadUniversal Windows 10 AppWindows MobileJavaAjaxCode Utilisateur (MCU)HFSQLHFSQL Client/ServeurHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs)

Blocage

Par défaut (aucune constante de blocage spécifiée), le blocage réalisé correspond au mode de blocage en cours.
Si un blocage est spécifié (constantes hBlocageEcriture ou hBlocageLectureEcriture), la lecture de l'enregistrement et le blocage seront réalisés uniquement si cet enregistrement n'est pas déjà bloqué par une autre application.
Si le fichier est verrouillé par la fonction HDébutVerrou, il est inutile de spécifier une constante 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 le Connecteur Natif utilisé ne gère pas les blocages, les options de blocage seront sans effet.

Divers

  • Le résultat de la fonction HTrouve doit être ignoré (la fonction HTrouve doit être utilisée pour les recherches réalisées avec la fonction HLitRecherche).
  • Le numéro de l'enregistrement en cours est connu avec la fonction HNumEnr.
  • La fonction HAvance respecte le filtre actif en cours (décrit avec la fonction HFiltre).
  • La fonction HChangeClé permet de modifier la clé de parcours, tout en restant positionné sur l'enregistrement en cours.
  • HAvance(Client,Nom) est équivalent à HLitSuivant(Client,Nom)
Composante : wd250hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire