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

VB 6 et antérieur Discussion :

pb SQL dans vb


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut pb SQL dans vb
    bonjour, voilà on me dit ça comme message d'erreur, mais je n'arrive pas à la résolver : Aucune valeur donnée pour ou plusieur des paramètres requis.

    C'est pour cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Set classementtips2 = New Recordset
     
    SQL2 = "select tipster.numtipster,nomtipster ,sum(gain) as BNF from tipster,pronostique where tipster.numtipster = pronostique.numtipster group by tipster.numtipster, nomtipster order by BNF"
     
    classementtips2.Open SQL2, conn, adOpenDynamic, adLockOptimistic
     
    Do Until classementtips2.EOF
        List1.AddItem classementtips2!nomtipster
        classementtips2.MoveNext
    Loop
     
    classementtips2.Close
    [Edit] Balises Code powered by Xo, merci d'y penser [/Edit]

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 99
    Par défaut
    Quand tu utilises une aggrégation, ici, tu fais sum(gain), tu dois ajouter :
    pour toutes les valeurs qui ne sont pas aggrégées.

    Ton code doit donc être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL2 = "select tipster.numtipster,nomtipster ,sum(gain) as BNF from tipster,pronostique where tipster.numtipster = pronostique.numtipster group by tipster.numtipster, nomtipster group by tipster.numtipster,nomtipster order by BNF"
    Et comme ça tout devrait marché ^^

    ++

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    merci pour la réponse , mais j'ai un nouveau message d'erreur :

    Erreur de synthaxe(opérateur absent) dans l'expression 'nomtipster group by tipster.numtipster'

    J'ai un peu du mal à trouver, car il y a pas mal de truc à vérifier ...

  4. #4
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Salut,

    As-tu testé ta requête sous ton éditeur SQL avant de l'exécuter par VB ?
    Niveau SQL, cela me paraît correct (la jointure pourrait se faire via un JOIN si ton SGBD le supporte, mais ça ne pose pas de soucis) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT tipster.numtipster, nomtipster, sum(gain) as BNF 
      FROM tipster, pronostique 
     WHERE tipster.numtipster = pronostique.numtipster 
     GROUP BY tipster.numtipster, nomtipster
     ORDER BY BNF
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  5. #5
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Citation Envoyé par Mystro
    Quand tu utilises une aggrégation, ici, tu fais sum(gain), tu dois ajouter :
    pour toutes les valeurs qui ne sont pas aggrégées.

    Ton code doit donc être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL2 = "select tipster.numtipster,nomtipster ,sum(gain) as BNF from tipster,pronostique where tipster.numtipster = pronostique.numtipster group by tipster.numtipster, nomtipster group by tipster.numtipster,nomtipster order by BNF"
    Et comme ça tout devrait marché ^^

    ++
    Ben non, tu as doublonné la clause Group BY, elle était déjà présente dans sa requête, ça ne va pas le faire, là ...
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    je travaille sous access, lorsque je j'exécute la requête, il me demande une valeur pour BNF, mais si je mets rien et que je continue, il m'affiche bien ce que je lui demande, même la colonne BNF ... bizarre

  7. #7
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Citation Envoyé par splouf
    je travaille sous access, lorsque je j'exécute la requête, il me demande une valeur pour BNF, mais si je mets rien et que je continue, il m'affiche bien ce que je lui demande, même la colonne BNF ... bizarre
    Essaye de modifier ta clause en , voir si ça fonctionne mieux ?
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  8. #8
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Et pas de multi-post SVP, je n'avais pas vu que tu avais posé la même question dans un autre post
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  9. #9
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    impossible d'avoir un agrégat dans un group by ... , ça fais au moins une semaine que je chercher

    on m'a dit de créer un nouveau post ... donc j'en ai créer un autre, désolé

  10. #10
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Citation Envoyé par splouf
    impossible d'avoir un agrégat dans un group by ... , ça fais au moins une semaine que je chercher
    Pardon, j'ai dit une connerie. je voulais dire : Essaye de modifier ta clause en
    voir si ça fonctionne mieux ?


    Citation Envoyé par splouf
    on m'a dit de créer un nouveau post ... donc j'en ai créer un autre, désolé
    Pas de soucis, il faut bien apprendre
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  11. #11
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    autant pour moi, je mettais trompé ... dsl

    ça marche génial, juste une derniere chose, comme faire pour que ça soit de l'ordre décroissant ?

  12. #12
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 99
    Par défaut
    Dsl pour ce que j'ai dit t'al, j'avais aps vu la clause group by.... j'ai été trop vite...

    Sinon pour classer dans l'ordre décroissant, tu ajoutes "desc" juste après le champ que tu veux décroissant.

  13. #13
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Et pour clôturer ce sujet que tu vas je pense mettre en résolu, je dirais juste que tu es parti d'un problème que tu pensais être lié à VB, donc je comprends que tu ais posté ici, mais si tu as d'autres soucis de conception de requête SQL, il est préférable de les solutionner dans le forum SQL directement
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

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

Discussions similaires

  1. résultat d'une requete SQL dans un tableau en JSP
    Par Paradoxys dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/04/2005, 16h17
  2. Appel d'un script SQL dans une procdure stockée
    Par doudou10000 dans le forum Oracle
    Réponses: 10
    Dernier message: 01/12/2004, 10h01
  3. SQL dans Procédure stockée
    Par julure dans le forum Oracle
    Réponses: 13
    Dernier message: 02/11/2004, 16h57
  4. Problème de requète SQL dans un Requery
    Par Keraccess dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 22/10/2004, 14h58
  5. [PL/SQL] Utilisation table PL/SQL dans clause IN
    Par Yorglaa dans le forum PL/SQL
    Réponses: 13
    Dernier message: 05/10/2004, 10h36

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