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 :

Requête retourne deux valeurs différentes [WD20]


Sujet :

WinDev

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur Développement Logiciel
    Inscrit en
    Septembre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Ingénieur Développement Logiciel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 285
    Points : 420
    Points
    420
    Par défaut Requête retourne deux valeurs différentes
    Bonjour à tous,
    je rencontre une étrange situation depuis une semaine dans windev20.
    la requête suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // La requête Req_ActiviteSelonPeriode
    SELECT activite.code as IdActivite, activite.libelle as LibActivite, activite.debut as DebActivite, activite.fin as FinActivite, activite.cout as MtActivite, activite.localisation as LocActivite FROM activite
    WHERE (DebActivite  between {prmDebut} AND {prmFin}) AND (FinActivite between {prmDebut} AND {prmFin})
    Group By LibActivite
    LIMIT {pLimit}
    Cette requête me retourne exactement ce que je veux en mode test (GO).
    Par contre lorsque je l'appele pour afficher le résultat dans un tableau alors c'est la catastrophe: Toutes les données s'affichent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    PROCEDURE AfficheActiviteSelonPeriode(wTable,wDebut,wFin,wLimit)
    bReqData est un booléen=Faux
    bReqData=HExécuteRequête(Req_ActiviteSelonPeriode,hRequêteDéfaut,wDebut,wFin,wLimit)
     
    SI bReqData=Faux ALORS
    	Info("Aucune données à Afficher. Veuillez sélectionner une autre période de calcul.")
    ELSE	// La réquete contient des valeurs
    	// On lit les valeurs pour affichage
    	HLitPremier(Req_ActiviteSelonPeriode)
    	TANTQUE PAS HEnDehors(Req_ActiviteSelonPeriode)
    		TableAjouteLigne(wTable,Req_ActiviteSelonPeriode.IdActivite, Req_ActiviteSelonPeriode.LibActivite, Req_ActiviteSelonPeriode.DebActivite,Req_ActiviteSelonPeriode.FinActivite, Req_ActiviteSelonPeriode.MtActivite, Req_ActiviteSelonPeriode.LocActivite)
    		HLitSuivant(Req_ActiviteSelonPeriode)
    	FIN	
    FIN
    J'utilise Windev 20 et MySQL5.6 avec accès natif.

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 342
    Points : 9 481
    Points
    9 481
    Par défaut
    Tu n'aurais pas laissé une liaison sur ta table "wtable", par hasard ?

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur Développement Logiciel
    Inscrit en
    Septembre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Ingénieur Développement Logiciel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 285
    Points : 420
    Points
    420
    Par défaut
    @Frenchsting: Tu n'aurais pas laissé une liaison sur ta table "wtable", par hasard ?
    Non je ne crois pas. Cela dit j'ai résolu le problème en écrivant directement la requête dans la fenêtre concernée. Cette fois ci, je passe directement un sqlReq="..." la même requête avec le parametrage qu'il faut et le tour est joué:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    sReqSQL=[
    SELECT activite.code as IdActivite, activite.libelle as LibActivite, activite.debut as DebActivite, activite.fin as FinActivite, activite.cout as MtActivite, activite.localisation as LocActivite FROM activite
    WHERE (DebActivite  between %1 AND %2) AND (FinActivite between %1 AND %2)
    Group By LibActivite
    LIMIT %3]
    sReqSQL=ChaîneConstruit(sReqSQL,wDebut,wFin,wLimit)
     
    SI PAS HExécuteRequêteSQL(sdREQ_TopInvCamp,MysqlConnect, hRequêteSansCorrection,  sReqSQL  ) ALORS 
    	Erreur("Pb dans la requête"+HErreurInfo()) 
    	RETOUR 
    FIN
    ...

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

Discussions similaires

  1. Requête sur deux BD différentes
    Par ZIED dans le forum Requêtes
    Réponses: 4
    Dernier message: 13/12/2010, 22h19
  2. requête retournant une valeur utilisable dans du code
    Par sanouphil dans le forum Oracle
    Réponses: 2
    Dernier message: 18/11/2010, 11h52
  3. Réponses: 2
    Dernier message: 04/03/2010, 18h07
  4. Réponses: 4
    Dernier message: 24/11/2008, 20h47
  5. [ComboBox] Retourner une valeur différente de ComboBox.Text
    Par nicolas.pied dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/02/2007, 20h01

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