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

Access Discussion :

Dcount dans un état a partir d'une requete


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 45
    Points : 28
    Points
    28
    Par défaut Dcount dans un état a partir d'une requete
    Bonjour tout le monde

    J'aimerai utiliser dcount dans un état pour afficher quand le champs tunnel dans ma table suivi est egal a 1 et compter quand il est egal a 2

    j'ai une erreur d'execution 2001 a ce niveau la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub PiedÉtat_Format(Cancel As Integer, FormatCount As Integer)
    txt_tunnel1.Value = DCount("tunnel", "qryEcartDates", "tunnel=1")
    txt_tunnel2.Value = DCount("tunnel", "qryEcartDates", "tunnel=2")
    End Sub
    ma requete qui affiche mon état :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT DISTINCTROW articles.code, articles.nom, categories.nom, clients.nom, Sum(suivi.poids) AS [Somme De poids], Count(*) AS [Compte De suivi]
    FROM (clients INNER JOIN (categories INNER JOIN articles ON categories.id = articles.id_categorie) ON clients.id = articles.id_client) INNER JOIN suivi ON articles.id = suivi.article
    WHERE ((suivi.date) = #14/04/1986# or (suivi.date)= #02/16/2006#)
    GROUP BY articles.code, articles.nom, categories.nom, clients.nom;
    ma table suivi

    suivi(id,article,poids,heure,date,lavage,tunnel)
    tunnel etant a chaque fois soit égal a 1 soit a 2



    J'ai reussi a utiliser Dcount en remplacant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txt_tunnel1.Value = DCount("tunnel", "qryEcartDates", "tunnel=1")
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txt_tunnel1.Value = DCount("tunnel", "suivi", "tunnel=1")
    mais la le probleme c'est qu'il n'affiche pas les resultats selectionnés par ma requete mais toute la table suivi


    est ce que je dois modifier ma requete pour lui demander d'aller chercher suivi.tunnel ? ou est ce que dans mes 2 lignes vba j'appelle mal le champs tunnelou la talbe suivi ?

    Merci

  2. #2
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    salut,

    ta fonction Dcount me parait bien écrite. de quel type est ton champ tunnel ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 45
    Points : 28
    Points
    28
    Par défaut
    hello
    tunnel est un champ numérique,

    je pense (meme si j'en sait rien hein ^^) que le probleme vient de la maniere dont j'appelle tunnel ou suivi, car quand on fait des requetes apres en fonction de la requete il faut appeller ses champs de la maniere suivi.tunnel ou parfois uniquement tunnel , et ca je ne le maitrise pas vraiment

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 166
    Points : 169
    Points
    169
    Par défaut
    Une piste : dans ta requête SQL qryEcartDates, il n'y a pas de champ tunnel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT DISTINCTROW articles.code, articles.nom, categories.nom, clients.nom, Sum(suivi.poids) AS [Somme De poids], Count(*) AS [Compte De suivi], suivi.tunnel [...]
    C'est peut-être ça?
    N'oubliez pas le tag . En haut: Outils de la discussion -> Résolu.

  5. #5
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    Citation Envoyé par dynexd
    quand on fait des requetes apres en fonction de la requete il faut appeller ses champs de la maniere suivi.tunnel ou parfois uniquement tunnel
    lorsque l'on met suivi.tunnel c'est pour préciser de quelle table vient le champ tunnel pour éviter des conflit lors d'une jointure avec une table qui aurait également le champ tunnel. ce qui n'est pas ton cas puisque tu utilises qu'une table qui est en l'occurence suivi.
    à mon avis le problème vient bien de ta requête. essais d'executer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select tunnel from suivi where tunnel = 1;
    ....en SQL direct.

    ce qui na pas trop de sens pour moi.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 45
    Points : 28
    Points
    28
    Par défaut
    Caroline1 > jai essayé en rajoutant suivi.tunnel dans ma requete sql mais cette fois ca me met l'erreur 3122 et ca bug a l'execution de la requete

    vous avez essayé d'executer une requete ne comprenant pas l'expression specifiee "tunnel" comme une partie de la fcontion d'agregat

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 166
    Points : 169
    Points
    169
    Par défaut
    C'est à cause du Count(*) (la fonction d'agregat) et du Group By.

    Es-tu passé en mode visuel Création de requête d'Access pour retravailler la requête? Essaie ça si non.

    Dans ton état actuellement, est-ce que l'information tunnel est visible quelque part, pour chaque enregistrement? Si oui, alors ce n'est pas dans tunnel que tu as l'info car ça n'apparaît pas dans ta requête.

    Caroline
    N'oubliez pas le tag . En haut: Outils de la discussion -> Résolu.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 45
    Points : 28
    Points
    28
    Par défaut
    io
    merci pour ces réponces

    j'ai donc recréer ma requete via l'assistant

    j'ai donc cela en + :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    First(suivi.tunnel) AS [Premier De tunnel]
    mais je ne sait pas comment l'utiliser en vba avec dcount :/
    quand je met "Premier de Tunnel" vba semble ne pas comprendre

    si quelqu'un sait comment traiter First et Premier de en vba merci de m'expliquer si possible

    Merci encore

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 45
    Points : 28
    Points
    28
    Par défaut
    étant donné que je dois finir mon projet pour demain il serait peut etre judicieux de contourner le probleme en créant 2 requetes supplementaires , une pour chaque tunnel , et d'ensuite utiliser un dcout comptant le nombre d'enregistrements issus de la requete

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/12/2009, 18h40
  2. Réponses: 2
    Dernier message: 17/11/2006, 18h26
  3. Réponses: 4
    Dernier message: 19/10/2006, 17h19
  4. Réponses: 8
    Dernier message: 07/09/2006, 11h43
  5. exécuter une classe dans un jar a partir d'une methode java
    Par yann_p dans le forum API standards et tierces
    Réponses: 13
    Dernier message: 13/04/2006, 15h50

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