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 :

DSum d'un sous formulaire


Sujet :

Access

  1. #1
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut DSum d'un sous formulaire
    Bonjour à tous et merci de votre temps et aide.

    J'ai une appli de facturation avec une série de lignes produit. Chaque ligne a un champ PrixTotal (Qte * Prix U) que je veux sommer. Le détail des produits est dans un sous formulaire en mode feuille de donnée (donc pas d'entête ni de pied).

    J'ai essayé avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TotalFacture=DomSom([Me]![FactureDetail]![PrixTotal],[FactureDetail].recordset)
    directement dans le champ calculé.

    Comme cela ne marchait pas j'ai mis dans une fonction VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Result=DSum(Me![FactureDetail].Form![PrixTotal], Me![FactureDetail].Recordset)
    Le .Recorset c'est pour qu'il travaille sur ma facture en cours, pas sur toute la table détail.

    Le calcul s'arrète nette sur l'instruction sans erreur et sans résultat.

    Y a t'il un grand maître des DSum et accès au sous-forme qui aurait la solution ? Parceque là, je nage :-).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    slt,

    même en feuille de données tu peux faire la somme dans un pied de formulaire du Sous Formulaire, disons dans un champ ChampSommeDePrixTotalDuSousForm :
    elle ne sera pas visible mais tu peux la récupérer dans le formulaire principal quand même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[FactureDetail].Formulaire![ChampSommeDePrixTotalDuSousForm]

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Merci mais je m'appercois que j'ai oublié de préciser un point qui m'a poussé vers DSum :

    Je ne ne veux pas la somme de TOUTES les lignes mais seulement ce celles qui réponde à un critère précis (ex Code="PERS"). J'ai des taxes a appliquer qui dépende du type de produit.

    Donc malgrès cette excélente réponse, ma question reste ouverte.

    A la lecture de plusieurs site web il semblerai que la seul solution soit de faire le DSum sur la table sous-jacente avec les critères voulus mais si quelqu'un a une solution autre merci.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    ben je dirais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =somme(vraixfaux(Code="PERS";[PrixTotal];0))
    à moins qu'il n'y ait une autre contrainte...

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Non, non ... enfin presque :-) mais je vais les gérer moi-même :-)).

    Merci du coup de main.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. appeler une procedure d'un sous formulaire
    Par kchrel dans le forum Access
    Réponses: 11
    Dernier message: 19/10/2004, 17h42
  2. Verouillage de formulaire et sous formulaire
    Par Mattdesoibs dans le forum IHM
    Réponses: 3
    Dernier message: 15/10/2004, 10h22
  3. Rafraichir un sous-formulaire
    Par estancha dans le forum IHM
    Réponses: 2
    Dernier message: 12/10/2004, 11h06
  4. Réponses: 2
    Dernier message: 10/10/2004, 23h12
  5. où est mon sous-formulaire ?
    Par yves_fuji dans le forum IHM
    Réponses: 2
    Dernier message: 08/09/2004, 08h34

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