DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Exemples de gestion de position dans un fichier de données
  • Réinitialisation des positions
  • Divers
  • Repositionnement par OLE DB et Connecteurs Natifs MySQL, DB2 et Informix
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
<Source>.SauvePosition (Fonction)
En anglais : <Source>.SavePosition
ODBCNon disponible avec ce type de connexion
Mémorise le contexte en cours d'un fichier de données : enregistrement en cours, filtre, pointeurs de lecture. Il est ainsi possible de suspendre momentanément le traitement en cours, d'utiliser le fichier de données par ailleurs (pour effectuer des vérifications par exemple). Le contexte sauvegardé pourra être restitué grâce à la fonction <Source>.RetourPosition. Le traitement principal pourra alors continuer.
La fonction <Source>.SauvePosition permet de sauvegarder :
  • le numéro de l'enregistrement manipulé,
  • les différents pointeurs dans l'index (sauvegarde pour chaque clé de la position dans l'index),
  • le filtre en cours. Il sera nécessaire d'utiliser la constante HRPFiltre dans la fonction <Source>.RetourPosition pour retrouver le filtre sauvegardé.
Cette fonction peut être utilisée indifféremment avec les fichiers de données, les vues HFSQL ou les requêtes.
Exemple
// Recherche d'un enregistrement
Client.LitRecherchePremier(Nom, Nom)
TANTQUE Client.Trouve() = Vrai
	// Sauve le contexte en cours
	nPos = Client.SauvePosition(Nom)
	// Vérification d'un client d'un autre nom
	Client.LitRecherche(Nom, Nom2)
	SI Client.Trouve() = Vrai ALORS Compteur = Compteur + 1
	// Restaure le contexte
	HRetourPosition(nPos)
	Client.LitSuivant(Nom)
FIN
Syntaxe
<Résultat> = <Source>.SauvePosition([<Rubrique>] [, <Options>])
<Résultat> : Entier
  • Numéro de la position sauvegardée,
  • -1 en cas d'erreur.
<Source> : Type correspondant à la source spécifiée
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 <Source>.SauvePosition va manipuler le dernier fichier de données utilisé par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H).
<Rubrique> : Chaîne de caractères optionnelle
Nom de la rubrique utilisée. Si ce paramètre n'est pas spécifié, la fonction <Source>.SauvePosition sauve les positions de toutes les rubriques pour lesquelles un parcours est en cours.
Hyper File 5.5 Le paramètre <Rubrique> ne sera pas pris en compte : la position sera sauvegardée pour toutes les rubriques sur lesquelles un parcours est en cours.
<Options> : Constante optionnelle de type entier
Permet de paramétrer la sauvegarde :
hSauveRubriquesSauve les valeurs des rubriques en mémoire au moment de l'utilisation de la fonction <Source>.SauvePosition. Ces valeurs seront restaurées lors de l'appel à la fonction <Source>.RetourPosition.
AndroidWidget AndroidJava Cette constante est disponible uniquement pour les fichiers de données HFSQL.
Remarques

Exemples de gestion de position dans un fichier de données

Les fonctions <Source>.SauvePosition et <Source>.RetourPosition peuvent être utilisées par exemple dans les cas suivants :
  • fiche affichant un enregistrement et permettant un parcours du fichier de données selon une clé. Une autre fenêtre est appelée pour la visualisation des données sous forme de table. La gestion des positions permet de revenir simplement sur le bon enregistrement dans le parcours des fiches.
  • visualisation d'un fichier de données dans un champ Table. La sélection d'un enregistrement permet d'afficher l'enregistrement sélectionné sous forme de fiche, avec possibilité de parcourir les fiches. La gestion des positions permet de revenir à l'affichage du champ Table en étant correctement positionné dans le fichier de données.

Réinitialisation des positions

Attention : toutes les fonctions entraînant l'ouverture ou la fermeture d'un fichier de données réinitialisent les numéros de contexte (par exemple <Source>.Création, <Source>.Ferme, ...).

Divers

  • Le nombre d'appels à la fonction <Source>.SauvePosition n'est pas limité.
  • Il est possible d'imbriquer les fonctions <Source>.SauvePosition et <Source>.RetourPosition pour un même fichier de données.
  • Si l'enregistrement pointé lors de l'appel à la fonction <Source>.SauvePosition est supprimé, il n'est plus possible d'appeler la fonction <Source>.RetourPosition.
WINDEVWEBDEV - Code ServeurJavaPHPOLE DBConnecteurs Natifs (Accès Natifs)

Repositionnement par OLE DB et Connecteurs Natifs MySQL, DB2 et Informix

Si la base de données ou l'état du parcours (parcours ré-initialisé par exemple) ne permettent pas de se repositionner directement sur l'enregistrement, le repositionnement est effectué dans le cache des enregistrement lus.
Les fonctions suivantes réinitialisent le parcours :
Ce fonctionnement est également observé en Java.
Classification Métier / UI : Code métier
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