PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Requête SQL avec un tri réalisé sous l'éditeur de requêtes
  • Requête SQL avec un tri en programmation
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
Pour effectuer un tri (ou un classement) des enregistrements provenant d'un fichier de données, il est possible d'effectuer une boucle de parcours sur le fichier en utilisant une rubrique clé. Mais dans ce cas, seul un classement sur les rubriques clé sera possible.
Un moyen plus efficace pour effectuer ce tri (ou classement) consiste à utiliser une requête SQL.
Nous allons voir comment effectuer un tri en utilisant :
Requête SQL avec un tri réalisé sous l'éditeur de requêtes
La requête permet de trier (classer) les enregistrements d'un fichier de données en fonction d'une rubrique.
Dans cet exemple, nous allons réaliser une requête SQL permettant de trier les enregistrements du fichier CLIENT selon le nom du client.
Les différentes étapes pour créer cette requête SQL avec un tri sont les suivantes :
  1. Sélectionnez l'option "Fichier .. Nouveau .. Requête". L'assistant de création d'une requête se lance.Cliquez sur Nouveau parmi les boutons d'accès rapide.
    • Dans la roue qui s'affiche, cliquez sur "Requêtes". Dans la fenêtre qui s'affiche, cliquez sur "Requêtes".
    • L'assistant de création d'une requête se lance.
  2. Sélectionnez l'option "Sélectionner (SELECT)" et validez.Choisissez de créer une requête de sélection (option "Sélection (SELECT)").
    Assistant de création de requêtes

    Passez à l'étape suivante de l'assistant.
  3. La fenêtre de description de la requête s'affiche.
  4. Donnez un nom et un libellé à la requête :
    Nom et libellé de la requête
  5. Dans la zone de gauche de la fenêtre de description, choisissez les rubriques du fichier de données à manipuler. Dans notre exemple, nous sélectionnons les rubriques NomClient, Société, CodePostal et Ville du fichier CLIENT.
  6. Double-cliquez sur les noms des rubriques pour les ajouter dans la liste des rubriques de la requête :
    Sélection des rubriques
  7. Pour effectuer un tri (classement), sélectionnez dans la partie centrale la rubrique à trier. Dans notre exemple, cette rubrique correspond à "NomClient".
  8. Dans la partie droite de l'éditeur, cliquez sur le bouton "Trier".
    Tri
  9. Dans le menu qui s'affiche, sélectionnez "Trier sur la rubrique sélectionnée". La fenêtre suivante s'affiche :
    Caractéristiques du tri
  10. Sélectionnez l'ordre du tri (croissant dans notre exemple).
  11. Validez. La fenêtre de description de la requête est mise à jour : une flèche avec le numéro du tri est affichée.
    Description de la requête
  12. Validez la fenêtre de description de la requête. La requête apparaît sous l'éditeur :
    Affichage de la requête sous l'éditeur
  13. Enregistrez la requête (CTRL S).
  14. Visualisez le code SQL en appuyant sur la touche F2 :
    Code SQL de la requête
  15. Testez la requête (GO dans les boutons d'accès rapide).
  16. La requête peut être exécutée dans le programme à l'aide de la fonction HExécuteRequête.
Requête SQL avec un tri en programmation
Les requêtes SQL peuvent être écrites directement par programmation dans le code WLangage. Pour cela, il faut :
  1. Créer une variable de type Source de données pour représenter la requête en exécution.
  2. Créer une variable de type chaîne de caractères pour contenir le code SQL de la requête et écrire le code SQL dans cette variable.
  3. Exécuter la requête SQL à l'aide de la fonction HExécuteRequêteSQL.
  4. Parcourir le résultat à l'aide des fonctions HLITXXX.
Exemple de code :
Src1 est une Source de Données
sCodeSQL est une chaîne

// Liste des commandes triées par Date et Heure décroissantes ...
sCodeSQL = [
SELECT COMMANDE.NumCommande,
COMMANDE.DATECDE,
COMMANDE.HeureCDE
FROM COMMANDE
ORDER BY DATECDE DESC, HeureCDE DESC
]

HExécuteRequêteSQL(Src1, hRequêteDéfaut, sCodeSQL)
POUR TOUT Src1
Trace(Src1.NumCommande, Src1.DATECDE, Src1.HeureCDE)

FIN
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire