DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Comment le faire / Gestion de la base de données
  • Présentation
  • Méthode 1 : Fonctions de parcours
  • Exemple de code
  • Méthode 2 : Instruction POUR TOUT
  • Exemple de code
  • Méthode 3 : Fonction HFiltre
  • Exemple
  • Méthode 4 : Utilisation d'une requête SQL
  • Exemple
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
Présentation
Il existe plusieurs méthodes pour parcourir un fichier de données selon un filtre :
Méthode 1 : Fonctions de parcours
Cette méthode utilise les fonctions de base du WLangage pour parcourir les fichiers de données :
La fonction HLitRecherche permet d'accéder au premier enregistrement correspondant à la valeur de la borne minimale de la clé de recherche.
La fonction HLitSuivant permet d'accéder à l'enregistrement suivant correspondant à la recherche.
La fonction HTrouve permet de savoir s'il existe toujours un enregistrement correspondant à la valeur de la recherche.

Exemple de code

// Parcours des enregistrements du fichier Client dont la ville est MONTPELLIER. 

HLitRecherche(CLIENT, Ville, "MONTPELLIER")
TANTQUE HTrouve(CLIENT)
// Traitement de l'enregistrement CLIENT

HLitSuivant(CLIENT, Ville)
FIN
Méthode 2 : Instruction POUR TOUT
L'instruction POUR TOUT permet de parcourir les enregistrements d'un fichier de données. Dans notre cas, cette instruction va permettre de lire les enregistrements d'un fichier de données avec un filtre.
L'instruction POUR TOUT attend les paramètres suivants :
  • le nom du fichier de données à parcourir.
  • le nom de l'index (ou clé) utilisé pour trier les enregistrements.
  • la valeur de filtrage.
Les lectures du premier enregistrement et de l'enregistrement suivant sont effectuées par l'instruction POUR TOUT. Il n'est pas nécessaire d'utiliser les fonctions HLitXXX.

Exemple de code

// Parcours des enregistrements du fichier Client dont la ville est MONTPELLIER. 
POUR TOUT CLIENT AVEC VILLE = "MONTPELLIER"
// Traitement de l'enregistrement CLIENT
FIN
Méthode 3 : Fonction HFiltre
  1. Utilisez la fonction HFiltre pour appliquer un filtre d'enregistrements sur le fichier de données.
  2. Parcourez le fichier de données filtré, avec les fonctions de parcours classiques.
  3. A la fin du parcours, désactivez le filtre par la fonction HDésactiveFiltre.

Exemple

Recherche des commandes dont la date est comprise entre le 01/02/2017 et le 28/02/2017.
// On applique le filtre
HFiltre(COMMANDE, DATECOMMANDE, "20170201", "20170228")

// On parcourt le fichier
POUR TOUT COMMANDE
// On traite la commande lue
FIN


// On désactive le filtre
HDésactiveFiltre(COMMANDE)
Note : La fonction HFiltre permet plus de souplesse que les méthodes précédentes. Elle permet également de gérer des possibilités de filtre plus nombreuses. Consultez l'aide en ligne sur la fonction HFiltre pour connaître les différentes possibilités.
Méthode 4 : Utilisation d'une requête SQL
Pour parcourir le fichier de données avec un filtre via une requête :
  1. Créer la requête. La requête permet de filtrer les enregistrement voulus.
    Rappel : Une requête SQL peut être réalisée :
    • dans l'éditeur de requêtes.
    • par programmation.
    Pour plus de détails sur la création d'une requête, consultez Création d'une requête.
  2. Exécuter la requête (fonction HExécuteRequête ou HExécuteRequêteSQL).
  3. Lire le résultat de la requête en réalisant un parcours de fichier de données standard.
  4. Libérer la requête (fonction HLibèreRequête).

Exemple

HExécuteRequête(REQ_ListeClient)
POUR TOUT REQ_ListeClient
// Traitement du client lu dans la requête
FIN
HLibèreRequête(REQ_ListeClient)
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale