PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Ce que vous allez apprendre dans cette leçon
  • Présentation
  • Création de la requête pour rechercher les commandes
  • Création de la requête
  • Test de la requête
  • Utilisation de paramètres dans la requête
  • Test de la requête paramétrée
  • Création de l'interface pour réaliser une recherche multicritère
  • Modifications du champ Onglet
  • Création des champs de paramétrage des critères et affichage du résultat
Leçon 4.4. Recherche multicritère
Ce que vous allez apprendre dans cette leçon
  • Création d'une requête paramétrée.
  • Création de l'interface de sélection des critères de recherche.
  • Passage de paramètres à une requête.
  • Affichage du résultat d'une requête dans un champ Table.

Durée estimée : 40 mn
Leçon précédenteSommaireLeçon suivante
Présentation
Nous avons vu dans la leçon précédente comment réaliser une recherche sur un seul critère (le nom du client). Dans cette leçon, nous allons permettre à l'utilisateur de faire une recherche multicritère.
Dans notre exemple, cette recherche se fera sur le fichier "Commande". L'utilisateur pourra sélectionner :
  • l'état de la commande,
  • son mode de règlement,
  • les dates de commandes prises en compte.
L'interface de la fenêtre "FEN_Menu" sera la suivante :
Fenêtre FEN_Menu
Cette interface est composée :
  • de champs permettant de sélectionner les critères de recherche.
  • de boutons permettant de lancer la recherche ou d'imprimer le résultat.
  • d'un champ Table permettant d'afficher le résultat de la recherche. Ce champ Table est basé sur une requête. Cette requête va permettre de sélectionner les enregistrements à afficher. Le champ Table listera le résultat de la recherche.
La première étape consiste à créer la requête de sélection des enregistrements.

Note

Qu'est-ce qu'une requête de sélection ?
Une requête de sélection est une requête qui va "choisir" uniquement les enregistrements correspondant aux critères spécifiés.
Ce type de requête s'appelle une requête de sélection car en langage SQL l'ordre SELECT est utilisé.

Corrigé

Un projet corrigé est disponible. Ce projet contient les différentes fenêtres créées dans cette leçon. Pour ouvrir le projet corrigé, sous le volet "Accueil", dans le groupe "Aide en ligne", déroulez "Guide d'Auto-formation" puis sélectionnez "Application complète (Avec fenêtres)".
Création de la requête pour rechercher les commandes

Création de la requête

  • Pour créer une requête, nous allons utiliser l'éditeur de requêtes.
    1. Cliquez sur Création parmi les boutons d'accès rapide. La fenêtre de création d'un nouvel élément s'affiche : cliquez sur "Requête­". L'assistant de création d'une requête se lance.
    2. Sélectionnez l'option "Sélection (SELECT)".
      En effet, la requête que nous allons créer va nous permettre de sélectionner des enregistrements. Passez à l'étape suivante.
    3. La fenêtre de description de la requête apparaît. Nous allons construire la requête en sélectionnant les éléments que nous voulons dans le résultat.
    4. Double-cliquez sur les rubriques présentes dans l'analyse à gauche de la fenêtre de description. Les rubriques prises en compte apparaissent alors au centre de l'écran.
      Remarque : Pour faire apparaître les rubriques des différents fichiers de données, il suffit de cliquer sur la flèche Flèche présente devant le nom du fichier.
      Nous voulons afficher :
      • les renseignements concernant la commande. Déroulez le fichier "Commande" (clic sur la flèche Flèche) puis double-cliquez sur les rubriques : IDCommande, Date, Etat et TotalHT.
      • les renseignements concernant le client ayant passé la commande. Déroulez le fichier "Client" (clic sur la flèche Flèche) puis double-cliquez sur la rubrique "NomComplet".
      • les renseignements concernant le mode de règlement de la commande. Déroulez le fichier "ModeRèglement" (clic sur la flèche Flèche) puis double-cliquez sur la rubrique "Libellé".
      La fenêtre de description de la requête est la suivante :
      Description de la requête
    5. Nous allons trier les données par date.
      • Dans la liste des éléments de la requête, sélectionnez la rubrique "Commande.Date", puis cliquez sur le bouton "Trier" et sélectionnez l'option "Trier sur la rubrique sélectionnée".
        Ajout d'un tri
      • Dans la fenêtre qui s'affiche, indiquez un tri croissant sur la rubrique et validez.
    6. Une flèche bleue avec le numéro 01 apparaît à droite de la rubrique "Commande.Date". Cette flèche indique qu'un tri croissant est fait sur cette rubrique. Le chiffre "01" indique que ce tri sera réalisé en premier.
      Tri dans la description
    7. Donnez un nom à la requête : saisissez "REQ_RechercheCommandes" à la place de "REQ_SansNom1" dans la zone "Nom de la requête" :
      Nom de la requête
    8. Validez la fenêtre de description de la requête (bouton vert en bas de l'écran).
    9. La fenêtre de sauvegarde apparaît. Validez les informations proposées.
    10. La représentation graphique de la requête est affichée :
      Représentation graphique

Test de la requête

Comme tous les éléments d'un projet WINDEV, il est possible de tester immédiatement la requête que nous venons de créer :
  1. Cliquez sur GO de la requête.
  2. Le résultat s'affiche dans une fenêtre :
    Résultat de la requête
    Le résultat affiché liste TOUTES les commandes.
    Dans notre cas, nous souhaitons afficher uniquement les commandes correspondant aux critères de recherche. Pour cela, il est nécessaire d'utiliser une requête paramétrée.

    Note

    Si vous faites un clic droit sur le résultat de la requête, un menu contextuel apparaît. Vous avez alors la possibilité d'exporter le résultat vers :
    • un fichier XLS (Excel).
    • un fichier Word ou OpenOffice.
    • un fichier XML (eXtensible Markup Language).
    • un fichier HFSQL.
  3. Fermez la fenêtre.

Utilisation de paramètres dans la requête

Dans notre exemple, l'utilisateur va pouvoir sélectionner une valeur pour les critères de recherche suivants :
  • Etat de la commande.
  • Mode de règlement de la commande.
  • Date de la commande.
Nous devons modifier la requête afin que ces critères de recherche correspondent à des paramètres de la requête.
  • Pour définir les paramètres de la requête, affichez la fenêtre de description de la requête : double-cliquez sur le fond de la représentation graphique de la requête (ou bien dans le menu contextuel, utilisez l'option "Description de la requête").
  • Pour gérer le paramètre "état de la commande" :
    1. Sélectionnez au centre de l'écran la rubrique Commande.Etat.
    2. Déroulez le bouton "Condition de sélection" et sélectionnez "Nouvelle condition".
    3. Dans la fenêtre qui s'affiche, nous allons indiquer que la condition de sélection correspond à un paramètre :
      Description d'une condition
      • Sélectionnez "Est égal à".
      • Sélectionnez "au paramètre".
      • Indiquez le nom du paramètre "pEtat".

        Note

        Nous vous conseillons de préfixer les paramètres des requêtes par "p". Il est ainsi possible de les retrouver très facilement dans l'éditeur de code.
        Si vous recherchez un paramètre de la requête, saisissez simplement ‘p' et la complétion de l'éditeur de code vous propose tous les paramètres.
    4. Validez la fenêtre de description de la condition. Le chiffre "1" apparaît à droite de la rubrique "Commande.Etat", indiquant qu'une condition de sélection a été définie.
      Description de la condition
  • Nous allons maintenant définir une condition sur le mode de règlement. Cette rubrique n'est pas présente dans le résultat de la requête mais nous souhaitons tout de même lui appliquer une condition. Pour cela, nous allons intégrer la rubrique dans le résultat de la requête et la rendre invisible pour qu'elle ne soit pas présente dans le résultat.
    1. Sur la partie gauche de la fenêtre de description de la requête, dans le fichier "Commande", double-cliquez sur la rubrique "IDModeRèglement". La rubrique "IDModeRèglement" apparaît dans la liste des éléments de la requête.
    2. Pour ne pas afficher cette rubrique dans le résultat :
      • Cliquez sur l'icône Visualisation présente à droite de la rubrique.
      • Dans le menu qui s'affiche, sélectionnez "Ne pas afficher".
    3. Pour définir une condition de sélection sur la rubrique "Commande.IDModeRèglement" :
      • Sélectionnez au centre de l'écran la rubrique "Commande.IDModeRèglement".
      • Déroulez le bouton "Condition de sélection" et sélectionnez "Nouvelle condition".
      • Dans la fenêtre qui s'affiche, indiquez que la condition de sélection correspond à un paramètre :
        • Sélectionnez "Est égal à".
        • Sélectionnez "au paramètre".
        • Indiquez le nom du paramètre "pIDModeRèglement".
    4. Validez la définition de la condition de sélection.
      Définition de la condition de sélection
  • La dernière condition de sélection à définir concerne la date de la commande. Cette date doit être comprise entre deux dates saisies par l'utilisateur.
    1. Sélectionnez dans la liste des éléments de la requête la rubrique "Commande.Date".
    2. Cliquez sur le bouton "Entre deux dates ...". Ce bouton permet de définir directement une condition de sélection.
    3. Dans la fenêtre qui s'affiche :
      • La condition de sélection est "Est compris entre".
      • Cliquez sur "au paramètre".
      • Indiquez le nom du paramètre "pDébutPériode".
      • Cliquez sur le second "au paramètre".
      • Indiquez le nom du paramètre "pFinPériode".
    4. Validez la définition de la condition de sélection.
    5. Validez la fenêtre de description de la requête. Le graphe de la requête est modifié pour prendre en compte les conditions de sélections que nous avons définies.
      Représentation graphique
    6. Enregistrez la requête en cliquant sur Sauver parmi les boutons d'accès rapide.

Test de la requête paramétrée

  • Pour tester la requête paramétrée :
    1. Cliquez sur GO de la requête.
    2. Une fenêtre s'affiche permettant de saisir les différents paramètres de la requête.
    3. Saisissez les données suivantes :
      • Décochez le paramètre pEtat.
      • Sélectionnez le paramètre pDébutPériode. Dans la partie basse de l'écran, saisissez "01/01/2016".
      • Sélectionnez le paramètre pFinPériode. Dans la partie basse de l'écran, saisissez "31/03/2016".
      • Sélectionnez le paramètre pIDModeRèglement. Dans la partie basse de l'écran, saisissez "1".
        Paramètres de la requête
    4. Validez la fenêtre. Le résultat de la requête correspondant aux paramètres spécifiés s'affiche.
    5. Fermez la fenêtre.
Nous allons maintenant créer l'interface permettant d'indiquer les paramètres de cette requête, de l'exécuter et d'afficher le résultat.
Création de l'interface pour réaliser une recherche multicritère

Modifications du champ Onglet

Nous allons ajouter un volet d'onglet dans la fenêtre "FEN_Menu" pour afficher le résultat de la recherche multi-critères.
  • Pour ajouter un volet d'onglet :
    1. Affichez si nécessaire la fenêtre "FEN_Menu" sous l'éditeur.
    2. Sélectionnez le champ Onglet.
    3. Affichez la fenêtre de description du champ (option "Description" du menu contextuel).
    4. Dans l'onglet "Général" de la fenêtre de description, cliquez sur le bouton "Nouveau". Un troisième volet d'onglet apparaît.
    5. Cliquez sur "Volet 3".
    6. Dans la partie "Description d'un volet statique", saisissez le libellé du volet : "Recherche de commandes".
      Description d'un volet
    7. Nous allons associer une image à l'onglet grâce au catalogue d'images de WINDEV. Cliquez sur le bouton Menu déroulant à droite du champ "Image". Dans le menu contextuel qui s'affiche, sélectionnez l'option "Catalogue". La fenêtre du catalogue d'images apparaît.
    8. Dans la zone de recherche, indiquez "Recherche" et sélectionnez si nécessaire le thème "Flat Soft". Lancez­ la recherche en cliquant sur la loupe.
    9. Parmi les images proposées, sélectionnez l'icône représentant les jumelles et validez.
    10. Conservez les options de l'écran de paramétrage de l'image générée et validez.
    11. Validez la fenêtre de description du champ Onglet.
      Champ Onglet sous l'éditeur

Création des champs de paramétrage des critères et affichage du résultat

Passons maintenant à l'affichage du résultat de notre recherche multicritère.
Nous allons tout d'abord créer un champ Table basé sur la requête puis créer les différents champs qui permettront à l'utilisateur de sélectionner les critères de recherche.
Création du champ Table
  • Pour créer le champ Table affichant le résultat de la recherche :
    1. Dans la fenêtre "FEN_Menu", cliquez sur le volet "Recherche de commandes". Le volet d'onglet vide apparaît.
    2. Créez un champ Table : sous le volet "Création", dans le groupe "Données", déroulez "Table et liste" et sélectionnez "Table (Verticale)".
    3. Cliquez dans le volet d'onglet : l'assistant de création du champ Table se lance.
    4. Le champ Table va être basé sur la requête "REQ_RechercheCommandes" (que nous avons créé précédemment). Sélectionnez l'option "Afficher les données d'un fichier ou d'une requête existante". Passez à l'étape suivante de l'assistant.
    5. Sélectionnez la requête qui sera la source de données du champ Table :
      • Déroulez si nécessaire le groupe "Requêtes".
      • Sélectionnez la requête "REQ_RechercheCommandes".
        Assistant de création du champ Table
      • Passez à l'étape suivante de l'assistant.
    6. Sélectionnez si nécessaire toutes les rubriques proposées.
      Rubriques à afficher
    7. Passez à l'étape suivante de l'assistant.
    8. Conservez les options par défaut dans les différentes étapes de l'assistant et validez la création du champ Table.
    9. Le champ Table est automatiquement créé dans l'onglet "Recherche de commandes".
    10. Si nécessaire, modifiez la position du champ Table pour qu'il apparaisse entièrement dans le volet d'onglet.
      Fenêtre sous l'éditeur
  • Pour plus de lisibilité, nous allons renommer les libellés des colonnes du champ Table.
    1. Affichez la description du champ Table (double-cliquez sur le champ).

      Note

      La fenêtre de description d'un champ Table est composée de deux zones :
      • la zone supérieure présentant le nom du champ, des colonnes et leur type.
      • la zone inférieure composée des différents onglets de description.
      Si le nom du champ Table est sélectionné, la partie inférieure présente les caractéristiques du champ Table.
      Si une colonne est sélectionnée, la partie inférieure présente les caractéristiques des colonnes.
    2. Cliquez sur la colonne "COL_IDCommande". Le titre de la colonne apparaît dans la partie basse de l'écran. Remplacez le libellé "Identifiant de la commande" par "ID".
      Titre des colonnes
    3. Cliquez sur la colonne "COL_NomComplet". Remplacez le libellé "Nom complet" par "Client".
      Titre des colonnes
    4. Cliquez sur la colonne "COL_Libellé". Remplacez le libellé "Libellé" par "Mode de règlement".
      Titre des colonnes
    5. Validez la fenêtre de description du champ Table. Le champ est automatiquement mis à jour avec les changements effectués.
    6. Agrandissez la taille des colonnes Date et Etat du champ Table à l'aide des poignées de redimensionnement des colonnes.
    7. Diminuez la taille des colonnes "ID" et "Mode de règlement" afin que toutes les colonnes apparaissent dans le champ Table.
    8. Enregistrez la fenêtre en cliquant sur Sauver parmi les boutons d'accès rapide. Nous allons vérifier les tailles des colonnes en exécutant la fenêtre.

Note

Live Data et champs basés sur des requêtes
Le Live data n'est pas affiché dans les champs utilisant une requête comme source de données pour la raison suivante : les données affichées dépendent du résultat de la requête et ne peuvent être connues qu'en exécution.
  • Nous allons faire un premier test de cette fenêtre :
    1. Cliquez sur GO de la fenêtre parmi les boutons d'accès rapide.
    2. Cliquez sur l'onglet "Recherche de commandes". Seules quelques commandes s'affichent, comme lors du dernier test de la requête réalisé sous l'éditeur, lorsque nous avions spécifié les paramètres dans la fenêtre de test de la requête.
      Test de la fenêtre
    3. Fermez la fenêtre de test pour revenir sous l'éditeur.
  • Regardons les traitements associés au champ Table :
    1. Sélectionnez le champ Table.
    2. Affichez le menu contextuel (clic droit) et sélectionnez l'option "Code".
    3. Le traitement "Initialisation de TABLE_REQ_RechercheCommandes" contient le code suivant :
      // Paramètres de la requête ‘REQ_RechercheCommandes'
      //MaSource.pEtat = <Valeur du paramètre pEtat>
      MaSource.pIDModeReglement = "1"
      MaSource.pDébutPériode = "20160101"
      MaSource.pFinPériode = "20160331"
      Les paramètres de test ont été récupérés comme paramètres par défaut pour l'exécution. Nous allons maintenant modifier la fenêtre pour que les paramètres soient saisis par l'utilisateur, à l'aide de champs.
    4. Fermez l'éditeur de code (utilisez la croix en haut à droite de l'éditeur).
Nous allons maintenant créer dans notre fenêtre les différents champs permettant à l'utilisateur de sélectionner les différents paramètres de la requête. Ces champs vont être placés au-dessus du champ Table.
  • Si nécessaire, déplacez le champ Table dans la fenêtre et diminuez sa hauteur afin de laisser de l'espace pour créer les différents champs de sélection des critères.
Premier paramètre : Etat de la commande
Une commande peut avoir 3 états :
  • en attente,
  • payée
  • annulée.
Dans notre analyse, l'état de la commande est enregistré dans la rubrique "Etat" présente dans le fichier de données "Commande". Cette rubrique est de type sélecteur.
Pour permettre à l'utilisateur de sélectionner un de ces trois états, nous allons utiliser le champ Sélecteur associé à la rubrique "Etat" du fichier de données "Commande".

Note

Les sélecteurs d'options sont également appelés "case d'options". Ils permettent de sélectionner une option et une seule, parmi celles proposées.
Comment différencier le sélecteur et l'interrupteur ?
Le sélecteur est également appelé "Bouton radio". Un moyen mnémotechnique simple : pensez aux anciennes radios : le bouton permettait de sélectionner une seule fréquence !
Le sélecteur permet de sélectionner une seule option.
  • Pour créer le champ Sélecteur :
    1. Affichez si nécessaire le volet "Analyse" : sous le volet "Accueil", dans le groupe "Environnement­", déroulez "Volets" et sélectionnez "Analyse". Les différents fichiers de données décrits dans l'analyse "WD Application Complète" apparaissent dans le volet.
    2. Cliquez sur l'icône à gauche du fichier "Commande" : les rubriques du fichier de données sont listées.
    3. Sélectionnez la rubrique "Etat" présente dans le fichier Commande et réalisez un "Drag and Drop" de cette rubrique vers la fenêtre "FEN_Menu".
    4. Le champ Sélecteur est automatiquement créé. Positionnez ce champ au-dessus du champ Table.
Fenêtre sous l'éditeur
  • Nous allons maintenant utiliser la valeur sélectionnée dans le champ Sélecteur en paramètre à la requête :
    1. Affichez les traitements associés au champ Table :
      • Sélectionnez le champ Table.
      • Affichez le menu contextuel (clic droit) et sélectionnez l'option "Code".
    2. Dans le traitement d'initialisation du champ Table, remplacez la ligne :
      //MaSource.pEtat = <Valeur du paramètre pEtat>
      par le code suivant :
      MaSource.pEtat = SEL_Etat
      Dans ce code, SEL_Etat est le nom du champ Sélecteur que nous venons de créer. La valeur de ce champ est associée au paramètre pEtat attendu par la requête.
    3. Fermez l'éditeur de code.
  • Avant de tester, nous allons créer un bouton pour réafficher le contenu du champ Table en fonction de la valeur sélectionnée dans le champ Sélecteur :
    1. Créez un champ Bouton :
      • sous le volet "Création", dans le groupe "Champs usuels", cliquez sur Champ Bouton.
      • cliquez ensuite dans le volet d'onglet, en haut à droite.
    2. Sélectionnez le champ puis tapez sur la touche Entrée du clavier. Le libellé du bouton passe en édition. Saisissez "Rechercher" et appuyez sur la touche Entrée du clavier.
    3. Modifiez le style du champ :
      • Affichez le menu contextuel du champ (clic droit) et sélectionnez l'option "Choisir un style".
      • Dans la fenêtre qui s'affiche, utilisez la combinaison de touches Ctrl + F. Dans le champ de recherche, saisissez "BTN_Recherche".
      • Le style est automatiquement sélectionné. Validez.
    4. Redimensionnez le champ si nécessaire.
    5. Affichez le code associé à ce champ : appuyez sur la touche F2.
    6. Dans le traitement "Clic sur ...", saisissez le code suivant :
      // Actualise l'affichage du champ Table
      TableAffiche(TABLE_REQ_RechercheCommandes, taInit)
      Dans ce code, la constante taInit permet de réexécuter le traitement d'initialisation du champ Table (le traitement dans lequel les paramètres sont passés à la requête).
    7. Fermez l'éditeur de code.
  • Nous allons tester le passage du premier paramètre :
    1. Enregistrez la fenêtre en cliquant sur Sauver parmi les boutons d'accès rapide.
    2. Cliquez sur GO de fenêtre parmi les boutons d'accès rapide.
    3. Sélectionnez si nécessaire l'onglet "Recherche de commandes".
    4. Changez l'état des commandes grâce au sélecteur puis cliquez sur le bouton "Rechercher". Le contenu du champ Table est modifié.
      Test de la fenêtre
    5. Fermez la fenêtre de test.
Second paramètre : Mode de règlement
Une commande peut avoir plusieurs modes de règlement : espèces, chèques, ... Les différents modes de règlement possibles sont stockés dans le fichier de données "ModeRèglement".
Nous allons utiliser un champ Combo basé sur ce fichier de données pour permettre à l'utilisateur de sélectionner le mode de règlement voulu.

Note

Le champ "Combo" permet d'afficher une liste d'éléments et de sélectionner un élément dans cette liste.
A la différence d'une liste, une combo n'est pas déroulée : elle se déroule à la demande ou lors du positionnement du curseur sur la liste.
Les éléments apparaissant dans une combo peuvent être déterminés lors de la création du champ sous l'éditeur. Ces éléments :
  • sont déterminés par programmation.
  • proviennent d'un fichier de données ou d'une requête.
  • Pour créer un champ Combo :
    1. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur "Combo".
    2. Cliquez dans la fenêtre à l'emplacement où le champ doit être créé (par exemple à côté du sélecteur précédemment créé).
    3. L'assistant de création du champ Combo se lance.
    4. Sélectionnez l'option "Afficher les données d'un fichier ou d'une requête existante" et passez à l'étape suivante.
    5. Sélectionnez le fichier de données "ModeRèglement" et passez à l'étape suivante.
    6. La rubrique à afficher dans le champ Combo est "Libellé". Décochez "IDModeRèglement" et cochez "Libellé". Passez à l'étape suivante.
    7. Sélectionnez la rubrique de tri : "Libellé". Passez à l'étape suivante.
    8. Sélectionnez la valeur de retour "IDModeRèglement". Cette valeur de retour est très importante car c'est elle qui sera passée en paramètre à la requête. Passez à l'étape suivante.
    9. Conservez les options par défaut dans les différentes étapes de l'assistant et validez la création du champ Combo.
    10. Le champ Combo est automatiquement créé dans la fenêtre.
  • Nous allons modifier quelques caractéristiques du champ Combo :
    1. Sélectionnez le champ Combo et affichez la fenêtre de description du champ (option "Description"­ du menu contextuel).
    2. Dans l'onglet "Général", modifiez le libellé du champ : remplacez "Combo ModeRèglement" par "Mode de règlement".
    3. Dans l'onglet "Contenu", spécifiez la valeur initiale affichée par le champ Combo (champ "Valeur initiale" en bas de la fenêtre de description). Dans notre cas, saisissez "1". Cette valeur correspond au paiement en espèces.
    4. Validez la fenêtre de description du champ.
  • Changez le look du champ : pour occuper moins de place, nous allons sélectionner un style affichant le libellé au-dessus du champ.
    1. Sélectionnez le champ Combo.
    2. Dans le menu contextuel (clic droit), sélectionnez l'option "Choisir un style".
    3. Dans la fenêtre qui s'affiche, sélectionnez le style "COMBO_Interne" et validez.
    4. Diminuez la taille du champ.
  • Nous allons maintenant utiliser la valeur sélectionnée dans le champ Combo en paramètre à la requête :
    1. Affichez les traitements associés au champ Table :
      • Sélectionnez le champ Table.
      • Affichez le menu contextuel (clic droit) et sélectionnez l'option "Code".
    2. Dans le traitement d'initialisation du champ Table, remplacez la ligne :
      MaSource.pIDModeReglement = "1"
      par le code :
      MaSource.pIDModeReglement = COMBO_ModeRèglement
      Dans ce code, COMBO_ModeRèglement est le nom du champ Combo que nous venons de créer. La valeur de retour de ce champ est associée au paramètre pIDModeRèglement attendu par la requête.
    3. Fermez l'éditeur de code.
    4. Enregistrez la fenêtre en cliquant sur Sauver parmi les boutons d'accès rapide.
  • Nous allons tester le passage des deux premiers paramètres :
    1. Cliquez sur GO de fenêtre parmi les boutons d'accès rapide.
    2. Sélectionnez si nécessaire l'onglet "Recherche de commandes".
    3. Changez l'état des commandes grâce au sélecteur et modifiez le mode de règlement grâce au champ Combo puis cliquez sur le bouton "Rechercher". Le contenu du champ Table est modifié.
      Test de la fenêtre
    4. Fermez la fenêtre de test.
Dernier paramètre : Date de commande
Le dernier paramètre de la requête correspond à la date des commandes prises en compte. Au niveau de l'interface, l'utilisateur doit pouvoir saisir un intervalle de dates. Nous allons utiliser pour cela un modèle de champs.

Note

Un modèle de champs est une fenêtre spécifique contenant différents champs. Dans cette fenêtre, vous pouvez mettre tout type de champs. Un modèle de champs est un fichier d'extension "WDT".
L'intérêt principal d'un modèle de champs est la ré-utilisabilité. Un modèle de champs présent dans un projet peut être réutilisé dans n'importe quelle fenêtre du projet.
De plus, les modèles de champs peuvent être surchargés : du code peut être ajouté, les champs peuvent être déplacés dans la fenêtre utilisant le modèle de champs. Les champs peuvent également être modifiés.
  • Pour gérer la date de la commande :
    1. Dans l'explorateur de projet, déroulez le dossier "Modèle de champs".
    2. Sélectionnez le modèle de champs "MDLC_ChoixPériode" dans l'explorateur de projet et réalisez un "Drag and Drop" vers la fenêtre "FEN_Menu" (à côté du champ "Mode de règlement").
      Drag and Drop du modèle de champs
    3. Sélectionnez le modèle de champs créé et affichez sa description (option "Description" du menu contextuel).
    4. Dans la fenêtre de description, renommez le modèle de champs. Le nouveau nom est "CMOD_ChoixPériode".
    5. Validez la fenêtre de description.
    6. Repositionnez et alignez les champs si nécessaire.
  • Nous allons maintenant utiliser les dates sélectionnées en paramètre à la requête :
    1. Affichez les traitements associés au champ Table :
      • Sélectionnez le champ Table.
      • Affichez le menu contextuel (clic droit) et sélectionnez l'option "Code".
    2. Dans le traitement d'initialisation du champ Table, remplacez les lignes :
      MaSource.pDébutPériode = "20160101"
      MaSource.pFinPériode = "20160331"
      par :
      MaSource.pDébutPériode = SAI_DateDébut
      MaSource.pFinPériode = SAI_DateFin
      Dans ce code, SAI_DateDébut et SAI_DateFin sont les noms des deux champs de saisie présents dans le modèle de champs. Leurs valeurs sont associées aux paramètres pDébutPériode et pFinPériode attendus par la requête.
    3. Fermez l'éditeur de code.
    4. Enregistrez la fenêtre en cliquant sur Sauver parmi les boutons d'accès rapide.
  • Nous allons tester le passage des paramètres :
    1. Cliquez sur GO de fenêtre parmi les boutons d'accès rapide.
    2. Sélectionnez si nécessaire l'onglet "Recherche de commandes".
    3. Définissez les différents paramètres de la recherche :
      • Etat des commandes,
      • Mode de règlement,
      • Fourchette de dates prises en compte.
    4. Cliquez sur le bouton "Rechercher". Le contenu du champ Table est modifié.
      Test de la fenêtre
    5. Fermez la fenêtre de test.
Leçon précédenteSommaireLeçon suivante
Version minimum requise
  • Version 23
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire