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

Requêtes et SQL. Discussion :

DSUM multi critères [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 268
    Points : 130
    Points
    130
    Par défaut DSUM multi critères
    Bonjour,

    J'essaie de faire afficher dans un formulaire continu la somme des quantités d'un article suivant son identifiant et le mois considéré.

    Voici ce que j'ai actuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SomDom("[T_Qte]![Qte]";"[T_Qte]";"[T_Qte]![Mois]=6 ET [T_Qte]![ID_Article]=  [R_Article].[ID_Article]")
    [R_Article] est la requête sur laquelle est basé le formulaire continu.

    Avec un critère, tout marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SomDom("[T_Qte]![Qte]";"[T_Qte]";"[T_Qte]![ID_Article]=[R_Article].[ID_Article] ")
    sauf que c'est tous mois confondus.

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut peut être un piste
    Bonjour,

    Le troisième argument de SomDom est du SQL, où l'opérateur francisé ET est, dans sa version native (langue anglaise), AND.
    Essaie en remplaçant ET par AND.

    A+

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 268
    Points : 130
    Points
    130
    Par défaut
    Merci de ta réponse, j'avais aussi essayé ça mais ça ne change pas. J'ai également tenté de déplacer les guillemets : aucun changement.
    Théoriquement, on peut taper toutes les conditions que l'on veut en les séparant par des ET et le tout entre guillemets, c'est bien ça?

    J'ai trouvé un détournement qui est une requête qui me fait la condition sur l'article et un somDom sur cette requête avec la condition sur le mois.
    ça fonctionne parfaitement mais je ne sais pas si c'est bien propre tout ça...

    J'ai également un autre problème avec SomDom :
    J'ai une requete qui regroupe des ca par mois.
    Comment peut-on faire une requete qui somme les CA de janvier à décembre?
    J'ai essayé cela mais sans succès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SomDom("[CA]";"R_CumCA";"[Mois] entre 1 et 6")
    je ne connais que SomDom qui puisse faire ça... si vous avez d'autres façons de faire je suis preneur.

  4. #4
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 268
    Points : 130
    Points
    130
    Par défaut
    Effectivement, il faut écrire en anglais dans la fonction : ça m'a permis de résoudre le second problème. Merci LedZeppII!
    Je vais donc me remettre sur le premier...

  5. #5
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonsoir,

    pour le premier problème, à quoi correspondent [R_Article] et [ID_Article] ?

    Essayer en concaténant (si ID_Article est numérique)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SomDom("Qte";"[T_Qte]";"[Mois]=6 AND [ID_Article]=" & [R_Article].[ID_Article])
    A+

  6. #6
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 268
    Points : 130
    Points
    130
    Par défaut
    Bonjour,

    [R_Article] correspond à une requête qui récupère des infos sur les articles en passant sur plusieurs tables.

    [ID_Article] est l'identifiant de mes articles. C'est une chaîne de caractères pouvant débuter avec un 0.

  7. #7
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonsoir,

    Je ne comprends pas comment ta formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SomDom("[T_Qte]![Qte]";"[T_Qte]";"[T_Qte]![ID_Article]=[R_Article].[ID_Article] ")
    fonctionne.

    En admettant que sur le formulaire il existe un contrôle ou un champ ayant pour nom ID_Article :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SomDom("Qte";"[T_Qte]";"[Mois]=6 AND [ID_Article]='" & [ID_Article] & "'")
    [ID_Article] est soit un contrôle, soit un champ de la source de données du formulaire.

    A+

  8. #8
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 268
    Points : 130
    Points
    130
    Par défaut
    Bonjour,

    Dans mon formulaire (en mode continu), l'identifiant de chacun des enregistrement est ID_Article
    J'aimerais me servir des résultats d'une requête qui n'est pas dans la source du formulaire et qui contient justement aussi ID_Article qu'on va appeler ID_ArticleR et QteR .


    Donc je devrais obtenir qqc comme ça mais ça ne fonctionne pas (inspiré de ton exemple )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SomDom("Qte";"T_Qte";"[Mois]=6 AND [ID_Article]='" & [ID_ArticleR] & "'")

  9. #9
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 268
    Points : 130
    Points
    130
    Par défaut
    C'est tout bon!
    Merci LedZeppII!!
    Je viens de comprendre mon erreur, à l'évidence j'avais mal compris le fonctionnement de DSUM : dans la condition, j'ai inversé le champ de la requête et celui du formulaire...

    Encore merci à toi d'avoir résolu mon souci!

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

Discussions similaires

  1. Recherche multi-critères
    Par PAUL87 dans le forum Access
    Réponses: 66
    Dernier message: 13/12/2005, 12h12
  2. problème SQL avec le tutoriel recherche multi critère
    Par qbihlmaier dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/12/2005, 19h33
  3. Requete multi-critères
    Par anutka dans le forum Requêtes
    Réponses: 1
    Dernier message: 21/09/2005, 13h30
  4. problème avec résultat de recherche multi-critères
    Par audrey_desgres dans le forum Access
    Réponses: 2
    Dernier message: 23/06/2005, 11h00
  5. Procédure stockée: recherche multi-critères
    Par biroule dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 01/09/2004, 16h02

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