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 :

Afficher le résultat d'une requête paramétrée dans une tabe [WD10]


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Décembre 2011
    Messages : 57
    Points : 49
    Points
    49
    Par défaut Afficher le résultat d'une requête paramétrée dans une tabe
    Bonsoir tout le monde

    j'ai une fenetre composée d'un champ combo(combo1) avec deux champs de saisies (sai_nom et sai_prenom ),un bouton Recherche (BTN_Rech) et une table (Table1).
    j'aimerais que si je clique sur le bouton Recherche (BTN_Rech) la table (Table1) affiche le resultat de la requete en fonction des paramètres entrés dans:

    le champ combo(combo1) et les deux autres champs (sai_nom et sai_prenom ).

    Dans BTN_Rech voici le code que j 'ecris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HExécuteRequête(REQ_Rech_Clients,hRequêteDéfaut,combo1,sai_nom,sai_prenom)
    TableAffiche(Table1,taDébut)
    Dans le code d'initialisation de Table1 j'écris le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HExécuteRequête(REQ_Rech_Clients,hRequêteDéfaut,combo1,sai_nom,sai_prenom)
    Mais lorsque j'execute ma requête il ne se passe rien,quelqu'un pourrait il m'aider?
    Merci d'avance.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    il nous manque la requête et la table est-elle reliée à la requête ou pas ?

    à bientôt,

    Nicolas

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    Juin 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : Juin 2009
    Messages : 221
    Points : 371
    Points
    371
    Par défaut
    il manque aussi le code de retour d'execution de l'instruction Hexecuterequete ainsi que le message d'erreur en cas d'erreur.

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Décembre 2011
    Messages : 57
    Points : 49
    Points
    49
    Par défaut
    Voici le code de ma requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT 
    	CLIENTS.CODE_CLTS AS CODE_CLTS,	
    	CLIENTS.COD_TYP_CLTS AS COD_TYP_CLTS,	
    	CLIENTS.NOM_CLTS AS NOM_CLTS,	
    	CLIENTS.PRENOM_CLIENTS AS PRENOM_CLIENTS,	
    	CLIENTS.TELE_CLIENTS AS TELE_CLIENTS,	
    	CLIENTS.FAX_CLIENTS AS FAX_CLIENTS,	
    	CLIENTS.MAIL_CLIENTS AS MAIL_CLIENTS
    FROM 
    	CLIENTS
    WHERE 
    	CLIENTS.COD_TYP_CLTS LIKE {PType}%
    	AND	CLIENTS.NOM_CLTS LIKE {PNom}%
    	AND	CLIENTS.PRENOM_CLIENTS LIKE {Pprenom}%
    Concernant la table elle est réliée à la requête par programmation, voici le code (dans l'initialisation de la table):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    combo1..LiaisonFichier="REQ_Rech_Clients.COD_TYP_CLTS"
    Table1..LiaisonFichier="REQ_Rech_Clients"
    Table1.Email..LiaisonFichier="REQ_Rech_Clients.MAIL_CLIENTS"
    Table1.Fax..LiaisonFichier="REQ_Rech_Clients.FAX_CLIENTS"
    Table1.Nom..LiaisonFichier="REQ_Rech_Clients.NOM_CLTS"
    Table1.Prenom..LiaisonFichier="REQ_Rech_Clients.PRENOM_CLIENTS"
    Table1.Téléphone..LiaisonFichier="REQ_Rech_Clients.TELE_CLIENTS"
    -Je n'ai pas créé de code en cas de message d'erreur
    -Pour le retour d'execution de l'instruction Hexecuterequete,je ne comprend pas ,pourriez vous m'expliquez?

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    En fait il faudrait relier la table dans la description et pointer vers la requête. Cela devrait suffire pour l'alimentation. Car là, si tu mets juste ce code dans l'initialisation, ça ne fera rien car la reqûete n'est pas encore initialisée et la table n'est pas remplie avec les fonctions TableAjoute ou TableAjouteLigne.

    Si tu veux vraiment faire une alimentation par programmation, il faut que tu parcours le résultat de la requête et que tu fasses TableAjouteLigne avec les champs de la requête.

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Décembre 2011
    Messages : 57
    Points : 49
    Points
    49
    Par défaut
    j'ai relié la table à la requête,mais lorsque j'exécute la table m'affiche tous les enregistrements; alors que j'ai posé des conditions avec les paramètres.

  7. #7
    Membre confirmé Avatar de PaulNero
    Homme Profil pro
    DBA Senior Oracle and SQL SERVER
    Inscrit en
    Octobre 2010
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : DBA Senior Oracle and SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 416
    Points : 470
    Points
    470
    Par défaut
    Bonjour l'ami,
    dans ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HExécuteRequête(REQ_Rech_Clients,hRequêteDéfaut,combo1,sai_nom,sai_prenom)
    combo1 est t-il un paramètre aussi? si oui, je t'invite à mettre combo1..valeuraffichée.
    Sinon tu peux l'effacer et écrire simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HExécuteRequête(REQ_Rech_Clients,hRequêteDéfaut,sai_nom,sai_prenom)
    dans selection d'une ligne de la combo ou autre bouton.
    Plus clairement, je voudrais te dire que l'execution de ta requête et le remplissage de ta table doit dépendre de l'utilisateur.En effet, en remplissant le nom,prénom et valeur de la combo ça doit t'allimenter la table selon ces valeurs.



    cordialement

  8. #8
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Lors de l'ouverture de la fenêtre, tes champs sont vierges donc la table affiche tous les enregistrements et c'est normal. Si tu veux passer des paramètres dès l'ouverture, il faut dans l'initialisation de la table refaire le passage de paramètres.

    Lorsque tu exécutes le code derrière le bouton, tu dois le positionner sur la partie clic et tu dois reprendre l'ensemble des paramètres que tu as saisis.

    par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    HAnnuleDelcaration(REQ_Rech_Clients)
    REQ_Rech_Clients.PType = combo1
    REQ_Rech_Clients.PNom = sai_nom
    REQ_Rech_Clients.Pprenom = sai_prenom
    HExécuteRequête(REQ_Rech_Clients,hRequêteDéfaut)
    TableAffiche(Table1)

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Décembre 2011
    Messages : 57
    Points : 49
    Points
    49
    Par défaut
    Ok ça marche maintenant après avoir mis combo1..valeuraffiché,merci à PaulNero .
    j'ai aussi testé la solution de Nicolas Jeanneau, ça marche aussi.

    Merci à Tous de m'avoir aidé.

+ 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, 20h22
  2. Réponses: 1
    Dernier message: 12/12/2011, 10h07
  3. [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, 11h37
  4. erreur dans une requête sql dans une fonction php
    Par frboyer dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2009, 13h37
  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, 09h53

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