|
|
|
|
- Requête SQL avec une sélection d'enregistrements du fichier de données
- Requête SQL avec un filtre en programmation
Comment faire une requete SQL pour filtrer des enregistrements ?
Pour effectuer un filtre (ou une sélection) d'enregistrements provenant d'un fichier de données, il est possible d'effectuer une boucle de parcours et d'utiliser la fonction HFiltre. Un moyen plus efficace pour effectuer ce filtre (ou sélection) consiste à utiliser une requête SQL. Nous allons voir comment effectuer un filtre en utilisant : Requête SQL avec une sélection d'enregistrements du fichier de données Cette requête permet de sélectionner les enregistrements d'un fichier de données correspondant à une condition de sélection. Dans cet exemple, nous réalisons la sélection des enregistrements du fichier CLIENT dont la ville est égale à un paramètre. Les différentes étapes pour créer cette requête SQL avec un filtre sont les suivantes : - Cliquez sur
parmi les boutons d'accès rapide. - Dans la fenêtre qui s'affiche, cliquez sur "Requêtes".
- L'assistant de création d'une requête se lance.
- Choisissez de créer une requête de sélection (option "Sélection (SELECT)").
]
Passez à l'étape suivante de l'assistant. - La fenêtre de description de la requête s'affiche.
- Donnez un nom et un libellé à la requête :
- Dans la zone de gauche de la fenêtre de description, choisissez les rubriques du fichier de données à manipuler (dans notre exemple, le fichier CLIENT et les rubriques NomClient, Société et Ville).
- Double-cliquez sur les noms des rubriques pour les ajouter dans la liste des rubriques de la requête :
- Pour effectuer le filtre (sélection), dans la partie droite de l'éditeur, cliquez sur le bouton "Condition de sélection".
- Cliquez sur "Nouvelle condition...".
- Dans la fenêtre qui s'affiche :
- Sélectionnez l'opération ("est égal" dans notre exemple).
- Sélectionnez "Paramètre" pour pouvoir passer à la requête une valeur saisie par l'utilisateur.
- Donnez un nom au paramètre.
- Validez. La fenêtre de description de la requête est mise à jour :
- Validez la fenêtre de description de la requête. La requête apparaît sous l'éditeur :
- Enregistrez la requête (Ctrl + S).
- Visualisez le code SQL en appuyant sur la touche F2 :
- Testez la requête (GO dans les boutons d'accès rapide).
- La requête peut être exécutée dans le programme à l'aide de la fonction HExécuteRequête. Il est nécessaire d'initialiser le(s) paramètre(s) attendu(s) dans le code.
- Exemple de code d'appel depuis le clic d'un bouton :
REQ_Filtre.ParamVille = "Paris"
HExécuteRequête(REQ_Filtre)
Requête SQL avec un filtre en programmation Les requêtes SQL peuvent être écrites directement par programmation dans le code WLangage. Pour cela, il faut : - Créer une variable de type Source de données pour représenter la requête en exécution.
- 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.
- Exécuter la requête SQL à l'aide de la fonction HExécuteRequêteSQL.
- Parcourir le résultat à l'aide des fonctions HLITXXX.
Exemple de code :
Src1 est une Source de Données
sCodeSQL est une chaîne
sCodeSQL = [
SELECT PRODUIT.Reference AS Reference,
PRODUIT.Libprod AS Libprod,
PRODUIT.Prixht AS Prixht
FROM PRODUIT
WHERE PRODUIT.Prixht > %1
]
moPrix est un monétaire
moPrix = SAI_PRIX
sCodeSQL = ChaîneConstruit(sCodeSQL, moPrix)
HExécuteRequêteSQL(Src1, hRequêteDéfaut, sCodeSQL)
POUR TOUT Src1
Trace(Src1.Référence , Src1.Libprod, Src1.Prixht)
FIN
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|