PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Requête SQL de type Somme sur la totalité du fichier de données
  • Requête SQL de type somme sur un regroupement
  • Requête SQL de type somme sur un regroupement 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 une somme de valeurs provenant d'un fichier de données, il est possible d'effectuer une boucle de parcours et de cumuler une valeur dans une variable de type numérique.
Un moyen plus efficace pour effectuer cette somme consiste à utiliser une requête SQL.
Nous allons voir comment effectuer une somme en utilisant :
Requête SQL de type Somme sur la totalité du fichier de données
Une requête de type Somme permet de cumuler une valeur présente dans tous les enregistrements d'un fichier de données.
Dans cet exemple, nous réalisons la somme de toutes les commandes du fichier COMMANDE.
Les différentes étapes pour créer cette requête SQL de type somme 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 la rubrique du fichier de données pour laquelle la somme doit être effectuée (TotalHT dans notre exemple).
  6. Double-cliquez sur le nom de la rubrique pour l'ajouter dans la liste des rubriques de la requête :
    Sélection de la rubrique de somme
  7. Dans la partie droite de l'éditeur, cliquez sur le bouton "Somme". La fenêtre suivante s'affiche :
    Caractéristiques de la somme
  8. Validez. La fenêtre de description de la requête est mise à jour :
    Description de la requête
  9. 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
  10. Enregistrez la requête (CTRL S).
  11. Visualisez le code SQL en appuyant sur la touche F2 :
    Code SQL de la requête
  12. Testez la requête (GO dans les boutons d'accès rapide).
  13. La requête peut être exécutée dans le programme à l'aide de la fonction HExécuteRequête.
Requête SQL de type somme sur un regroupement
Il est possible de créer une requête qui effectue le cumul d'une valeur suivant un critère de regroupement.
Dans cet exemple, nous allons réaliser la somme des commandes par mode de livraison.
Les étapes pour réaliser une requête de type Somme sur un regroupement sont les suivantes :
  1. Créez une requête de type Somme (voir paragraphe précédent).
  2. Sélectionnez dans le fichier de données la rubrique servant d'argument de regroupement. Dans notre exemple, nous allons choisir le libellé du mode de livraison.
  3. Ajoutez cette rubrique aux rubriques de la requête (double-cliquez sur le nom de la rubrique par exemple).
    Rubrique de regroupement
  4. 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
  5. Enregistrez la requête (CTRL S).
  6. Visualisez le code SQL en appuyant sur la touche F2 :
    Code SQL de la requête
  7. Testez la requête (GO dans les boutons d'accès rapide).
  8. La requête peut être exécutée dans le programme à l'aide de la fonction HExécuteRequête.
Requête SQL de type somme sur un regroupement 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

// Somme des commandes par mode de règlement
sCodeSQL = [
SELECT REGLEMENT.LibReglement, SUM(COMMANDE.TotalHT) AS SommeCommandes
FROM COMMANDE, REGLEMENT
WHERE COMMANDE.IDReglement=REGLEMENT.IDReglement
GROUP BY LibReglement
]

HExécuteRequêteSQL(Src1, hRequêteDéfaut, sCodeSQL)
POUR TOUT Src1
Trace(Src1.LibReglement, Src1.SommeCommandes)
FIN
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire