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 :

Utilisation de la fonction Somme Domaine [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Utilisation de la fonction Somme Domaine
    Bonjour,

    J'ai un petit souci dans l'utilisation de la fonction SomDom.

    Je voudrais à partir d'une table qui reprend pour mes produits en stocks tous les mouvements d'entrées et de sorties, regrouper avec un cumul par article et par date, les quantités livrées.

    Ex: Le 16/11/10 Quantités Livrées produit A= 5; Quantités livrées cumulées produit A = 5
    Le 20/11/10 Quantités Livrées produit A= 12; Quantités livrées cumulées produit A = 17 etc..

    Pour ce faire, dans ma requete, j'utilise la fonction SomDom de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SomDom("[QTE_LIVREE]";"Tbl_Inventaire";"[COD_ARTICLE]='xxx'")
    J'obtiens seulement de cette façon le total des quantités livrées du produit xxx.
    Ma question est: Quelle est la bonne syntaxe pour obtenir PAR ARTICLE, un cumul progressif PAR DATE, des quantités livrées?
    Merci pour votre aide.

    Cordialement

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 092
    Points : 5 210
    Points
    5 210
    Par défaut
    Bonjour,

    Voici un exemple de syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT mvts.code, mvts.date_out, mvts.Qout
    , dsum("Qout","mvts","code='" & mvts.code & "' and date_out<=cdate('" & mvts.date_out & "')") AS cumul
    FROM mvts ORDER BY mvts.code, mvts.date_out;
    J'ai supposé que le code article était alphanumérique, sinon il faut enlever les '
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Complément d'informations : Les fonctions de Domaines

    Bonne continuation
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  4. #4
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Fonction somdom
    Bonjour,

    J'approche tout doucement du but.
    J'ai légèrement modifié ma table à l'origine de ma requete en y ajoutant un numéroauto.
    Ensuite avec une requête sélection je récupère:
    xx Le numéro Auto (Numéro incrément) xx le code article (COD_ART) xx Lad ésignation de l'article (DGN) xx Les quantités en stock (QTE_STK_AVT) xx Les dates de livraison (DAT_PIE) xx Les quantités livrées (QTE_LIV) xx et enfin une colonne avec la fonction qui me permet de cumuler les quantités livrées dans cette même requête et dont la syntaxe est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Cumul: SomDom("QTE_LIV";"T01-ROT_stocks";" [Numéro incrément] <= " & [Numéro incrément])
    Maintenant j'obtiens bien un cumul des valeurs du champ "QTE_LIV", mais malheureusement ce cumul se poursuit indépendemment de la rupture sur le code article, puisque j'obtiens le résultat suivant:

    Numéro
    incrément COD_ART DGN QTE_STK_AVT DAT_PIE QTE_LIV Cumul
    3 04GD xx 29 31/08/10 1 3
    7 04GD xx 29 23/08/10 3 12
    6 04GD xx 29 16/11/09 2 9
    5 04GD xx 29 31/08/09 2 7
    2 04GD xx 29 30/04/09 1 2
    1 04GD xx 29 27/04/09 1 1
    4 04GD xx 29 30/01/09 2 5
    10 04H yy 51 29/10/10 30 74
    9 04H yy 51 30/09/10 30 44
    11 04H yy 51 26/04/10 25 99
    16 04H yy 51 22/03/10 2 171
    13 04H yy 51 19/11/09 20 139
    15 04H yy 51 30/09/09 20 169
    12 04H yy 51 15/09/09 20 119
    14 04H yy 51 24/07/09 10 149
    8 04H yy 51 30/04/09 2 14
    17 04HBD zz 2 171


    On constate que le cumul se fait bien pour les numéros auto qui vont de 1 à 7, mais le numéro auto 8 correspond à un code article différent (04H), on devrait donc repartir avec un cumul de 2.

    Quelqu'un peut il me dire la condition que je dois ajouter à ma fonction SomDom pour obtenir un cumul qui tient compte de la rupture sur le code article.

    Merci
    Cordialement
    ZF007

  5. #5
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 092
    Points : 5 210
    Points
    5 210
    Par défaut
    Bonsoir,
    Il faut ajouter un test sur le code :
    Cumul: SomDom("QTE_LIV";"T01-ROT_stocks";" [Numéro incrément] <= " & [Numéro incrément] & " &nd cod_art='" & cod_art & "'")
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut SomDom dans une requete
    Bonjour,

    J'ai essayé d'intégrer cette syntaxe dans ma requête.
    Mais manifestement ça ne convient pas: j'ai le message d'erreur :
    " Erreur de syntaxe (opérateur absent) dans l'expression : " [Numéro increment] <= 'xxxx' &nd cod_art = 'xxxxx' ".

    J'ai tout essayé, ajouter, retirer l'apostrophe, les guillement le &... Rien à faire.
    J'ai fini pas résoudre mon problème en exportant sur XL le résultat de ma requete, en ajoutant au résultat du query MS une colonne avec une formule me permettant de calcler le cumul des quantités par code et dans l'ordre chronologique, puis tout réinjecter dans Access pour poursuivre mon travail jusqu'à l'édition des états.

    Je ne comprends pas, il doit bien y avoir un moyen dans ACCESS de faire un total cumulé progressif, en travaillant sur 2 champs critères.

    Bonne journée
    ZF007

  7. #7
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 092
    Points : 5 210
    Points
    5 210
    Par défaut
    Euh désolé mon doigt a glissé

    C'est and code_art et non &nd code_art

    par ailleurs l'incrément est numérique donc à priori sans '
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  8. #8
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut EUREKA
    Citation Envoyé par nico84 Voir le message
    Euh désolé mon doigt a glissé

    C'est and code_art et non &nd code_art

    par ailleurs l'incrément est numérique donc à priori sans '

    Eureka, Ca marche
    Merci
    fz007

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

Discussions similaires

  1. [V6] Impossibilité d'utiliser la fonction somme!
    Par jbg85 dans le forum Deski
    Réponses: 0
    Dernier message: 17/06/2013, 18h02
  2. Erreur sur une requête en utilisant la fonction somme
    Par TheFantasyRide dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 21/04/2009, 18h55
  3. fonction SOMME.SI utilisée avec fonction ET ?
    Par clarisse dans le forum Excel
    Réponses: 16
    Dernier message: 30/07/2008, 12h17
  4. Utilisation fonction Somme
    Par THOMAS33600 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 18/10/2007, 07h58
  5. [LG]librairies : utiliser seulement quelques fonctions
    Par wwwroom dans le forum Langage
    Réponses: 13
    Dernier message: 14/05/2004, 22h50

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