IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Affichage du résultat d'une requête paramétrée dans une table [WD20]


Sujet :

WinDev

  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Par défaut Affichage du résultat d'une requête paramétrée dans une table
    Bonjour la communauté,
    Cela fait une semaine que je galère sur un problème.
    En effet je veux afficher le résultat d'une requête paramétrée dans la table liée à celle-ci (Le paramètre en question est contenu dans une combo liée à un fichier).
    Ma requête est d'afficher les producteurs en fonction du nom de la COOPERATIVE(contenu dans la combo).
    Voici le code de ma requête
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    SELECT 
    	PRODUCTEURS.NomProd AS NomProd,	
    	PRODUCTEURS.PrenomsProd AS PrenomsProd,	
    	PRODUCTEURS.Contact AS Contact,	
    	COOPERATIVE.NomCoop AS NomCoop
    FROM 
    	COOPERATIVE,	
    	PRODUCTEURS
    WHERE 
    	COOPERATIVE.IDCOOPERATIVE = PRODUCTEURS.IDCOOPERATIVE
    	AND
    	(
    		COOPERATIVE.NomCoop = {p1}
    	)
    ORDER BY 
    	NomProd ASC
    Voici le code de l'initialisation de la table liée à la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    REQ_Rech_Prod.p1=COMBO_Cooperative..ValeurAffichée
    Voici le code du bouton permettant d'afficher le résultat dans la table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HExécuteRequête(REQ_Rech_Prod,hRequêteDéfaut,COMBO_Cooperative..RubriqueAffichée)
    TableAffiche(TABLE_REQ_Rech_Prod,taDébut)
    Merci d'avance pour vos suggestions.

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 498
    Par défaut
    Bonjour,
    Quel est le problème exactement ? La table est vide ? Tu as un message d'erreur ? Le paramètre n'est pas pris en compte ?

    Tatayo.

  3. #3
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Par défaut
    Merci pour votre rapide réaction,
    La table est vide, donc je me demande réellement si mon paramètre est pris en compte.
    Merci

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 498
    Par défaut
    Je commencerai par tester le résultat de hExecuteRequete(), histoire de voir si la requête est bien lancée.
    Et après avoir consulté l'aide en ligne de TableAffiche, ici j'utiliserai plutôt taInit comme deuxième paramètre.

    Tatayo.

  5. #5
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Je commencerai par tester le résultat de hExecuteRequete(), histoire de voir si la requête est bien lancée.
    Après le test,j'ai pas de message d'erreur ce qui pourrait dire que la requête s'exécute sans souci.
    Citation Envoyé par tatayo Voir le message
    Et après avoir consulté l'aide en ligne de TableAffiche, ici j'utiliserai plutôt taInit comme deuxième paramètre.
    Tatayo.
    J'ai rectifié

  6. #6
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 133
    Par défaut
    Après le test,j'ai pas de message d'erreur ce qui pourrait dire que la requête s'exécute sans souci.
    t'as tracé le résultat retourné par la requête? ça devrai permettre de savoir si le problème vient de la requête ou de l'affichage de la table

    J'ai rectifié
    et? ça donne quoi?

  7. #7
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Par défaut
    Après avoir mis un point d'arrêt au niveau de TableAffiche dans mon code permettant l'affichage du résultat de la requête,voici une image du message

    Nom : req1.png
Affichages : 2177
Taille : 136,5 Ko

  8. #8
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 133
    Par défaut
    A ce que je vois, c'est la requête qui ne renvoie aucune valeur.
    Il me semble qu'il n y a pas d'enregistrement qui correspond à la condition dans la BDD.

    exécuter la requête en mode debug me semble une bonne idée pour vérifier.

  9. #9
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Billets dans le blog
    22
    Par défaut
    Bonjour

    Tu as codé pour initialiser le contenu de table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HExécuteRequête(REQ_Rech_Prod,hRequêteDéfaut,COMBO_Cooperative..RubriqueAffichée)
    TableAffiche(TABLE_REQ_Rech_Prod,taDébut)
    La propriété ..RubriqueAffichée n'est pas la bonne, je pense que tu as voulu utiliser la propriété ..ValeurAffichée.

    Et pour moi le code suivant est inutile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    REQ_Rech_Prod.p1=COMBO_Cooperative..ValeurAffichée
    Tu initialises le paramètre avec l'appel de la fonction HExécuteRequête

    Bon dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  10. #10
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Billets dans le blog
    22
    Par défaut


    Après relecture du post, je viens de voir d'après la capture d'écran que tu as rectifié le problème de propriété.
    Tu peux supprimer ton premier appel à la fonction HExécuteRequête
    Comment remplis tu la combo COMBO_Cooperative, car la sélection de ta requête est basée sur ce libellé ?
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  11. #11
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Par défaut
    Merci infiniment pour vos réponses,

    Citation Envoyé par dsr57 Voir le message


    Comment remplis tu la combo COMBO_Cooperative, car la sélection de ta requête est basée sur ce libellé ?
    La combo_Cooperatve est liée directement au champ Nom_Coop du fichier COOPERATIVE

  12. #12
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 498
    Par défaut
    Tu peux parcourir la requête dans une boucle, pour voir si elle renvoie bien quelque chose.
    Si elle ne renvoie rien, pour éliminer un problème avec la combo, tu peux commencer par passer lui un paramètre "en dur".

    Si avec un paramètre "en dur" ça fonctionne, c'est que tu as un soucis avec la valeur récupérée de la combo. Sinon le problème se trouve dans la requête elle-même.

    Tatayo.

  13. #13
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Par défaut
    Merci la communauté,en appliquant vos conseils,je pense bien que tout marche à merveille. Merci infiniment.

  14. #14
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Billets dans le blog
    22
    Par défaut
    Bonjour

    Il serait intéressant de nous donner plus de détails sur ce que tu as fais pour résoudre le problème.

    Bon dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  15. #15
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Par défaut
    Bonsoir,
    Citation Envoyé par dsr57 Voir le message
    Bonjour

    Il serait intéressant de nous donner plus de détails sur ce que tu as fais pour résoudre le problème.
    C'est vrai donc voici le l'ensemble des codes utilisés.
    D'abord pour la requête:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    SELECT 
    	PRODUCTEURS.NomProd AS NomProd,	
    	PRODUCTEURS.PrenomsProd AS PrenomsProd,	
    	PRODUCTEURS.Contact AS Contact,	
    	COOPERATIVE.NomCoop AS NomCoop
    FROM 
    	COOPERATIVE,	
    	PRODUCTEURS
    WHERE 
    	COOPERATIVE.IDCOOPERATIVE = PRODUCTEURS.IDCOOPERATIVE
    	AND
    	(
    		-- P1 correspond au nom de la ccopérative choisi par l'utilisateur
    	COOPERATIVE.NomCoop = {P1}
    	)
    ORDER BY 
    	NomProd ASC

    Ensuite celui de l'initilisation de la table affichant les résultats
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HExécuteRequête(REQ_Rech_Prod,hRequêteDéfaut,COMBO_Cooperative..ValeurAffichée)
    TableAffiche(TABLE_REQ_Rech_Prod,taDébut)
    et enfin celui du bouton permettant d'exécuter la requête et d'afficher le résultat dans la table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HExécuteRequête(REQ_Rech_Prod,hRequêteDéfaut,COMBO_Cooperative..ValeurAffichée)
    TableAffiche(TABLE_REQ_Rech_Prod,taDébut)
    Merci encore !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Entrer la valeur d'un paramètre dans une requête paramétrée
    Par emeric2502 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 22/11/2014, 21h22
  2. [WD10] Afficher le résultat d'une requête paramétrée dans une tabe
    Par Menadel dans le forum WinDev
    Réponses: 8
    Dernier message: 23/05/2012, 18h58
  3. Réponses: 1
    Dernier message: 12/12/2011, 11h07
  4. [OpenOffice][Base de données] Afficher des paramètres d'une requête paramétrée dans un formulaire
    Par ggnore dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 02/09/2009, 12h37
  5. [Requête] Utilisation d'une fonction perso dans une requête
    Par Julien Dufour dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 16/03/2007, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo