Positionne sur le premier enregistrement d'un fichier de données en fonction de la rubrique de parcours spécifiée.
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 :
mais
HSupprime ( Client , HNumEnr ( ) )
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
HPremier permet de se positionner dans le fichier de données pour effectuer une boucle de lecture avec la fonction
HSuivant .
Après l'exécution de la fonction HPremier , 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 . Accès par JDBC : La gestion des blocages n'est pas disponible sur les bases de données accédées par JDBC.
HPremier ( Client , Nom )
TANTQUE HEnDehors ( ) = Faux
HSuivant ( Client , Nom )
FIN
Syntaxe
<Résultat> = HPremier([<Fichier de données> [, <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. <Fichier de données> : Chaîne de caractères optionnelle
Nom du fichier de données manipulé. Si ce paramètre correspond à une chaîne vide (""), la fonction HPremier manipule le dernier fichier de données utilisé par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H). <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 HPremier 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 réalisé sur l'enregistrement sélectionné par la fonction HPremier :hBlocageEcriture Blocage en écriture : l'enregistrement sélectionné pourra être lu par une autre application mais ne pourra pas être modifié par une autre application. hBlocageLectureEcriture Blocage en lecture/écriture : l'enregistrement sélectionné ne pourra ni être lu ni être modifié par une autre application. hBlocageNon Aucun blocage : l'enregistrement pourra être lu ou modifié par une autre application. hRespecteFiltre Le parcours prendra en compte le filtre mis en place avec la fonction HFiltre , même si la clé de parcours utilisée n'est pas optimisée pour le filtre. Rappel : la fonction HFiltre renvoie la clé de parcours optimisée pour le filtre. Attention : Dans ce cas, sur des fichiers de données de taille importante, des problèmes de performances peuvent survenir. hSansRafraîchir
Remarques
Lecture selon une clé
La fonction
HPremier positionne sur l'enregistrement pour lequel la valeur de la clé est la plus petite.
L'ordre de tri pris en compte est l'ordre de tri spécifié dans l'analyse pour cette clé.
En cas de doublons, la fonction HPremier positionne sur le premier enregistrement "doublon" selon l'ordre des numéros d'enregistrement.
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. Comparaison des fonctions HLitPremier et HPremier
La fonction
HPremier ne lit pas l'enregistrement : la fonction
HPremier est donc plus rapide que la fonction
HLitPremier .