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 :

Somme dans un ETAT


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut Somme dans un ETAT
    Bonjour,

    Petit problème tout bête, je pense, mais qui me pose de gros soucis.

    SITUATION:

    Un Etat sur lequel il y a plusieurs Zones de Textes (ZT). On ne va s'axer que sur 4 ZT.

    ZT1:source contrôle =2 (je dis que je veux rentrer 2 à chaque ligne)
    ZT2:source contrôle =5 (je dis que je veux rentrer 5 à chaque ligne)
    ZT3:source contrôle =[ZT1]*[ZT2] (on fait le calcul de chaque ligne donc 10)
    ZT4:source contrôle =somme([ZT1]*[ZT2]) (se trouve tout en bas car il fait la somme de toutes les lignes. Disons que j'ai 5 lignes donc 50).

    PROBLEME:

    Le calcul réalisé par Access est faux. Au lieu de me donner 50, il me donne par exemple 84.

    QUESTION:

    D'après vous, qu'est-ce qui fait qu'Access n'arrive pas à bien calculer. Je soupçonne ZT1 et ZT2 d'être à l'origine du pb. En effet, lorsque je les lie avec des ZT d'un formulaire tout marche parfaitement.

    Merci d'avance pour votre aide.
    Mr White

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    Essaye de la façon suivante :
    ZT4:source contrôle =somme([ZT3])

  3. #3
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    Bonjour Zoom61,

    J'avais déjà fait le test mais je l'ai refait au cas où... ben voilà. Comme hier, ça ne marche pas.
    Il me demande "rentrer la valeur du paramètre ZT3". C'est à n'y rein comprendre. Pourtant j'ai bien mis cette somme en pied de formulaire, ça marche avec les ZT liés au formulaire ... mais rien à faire, cela ne marche pas. Je ne comprend pas.

    Mr White

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Si tu as ce message cela veut dire que tu as fais une erreur.

    Il faut que la ZT3 se nomme ZT3 (Fenêtre : Propriété, Onglet : Autres, le paramètre Nom contienne bien ZT3) et cela devrait fonctionner.

  5. #5
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    ben oui, normalement ça veux dire ça ... mais pas dans mon cas.
    Pour assurer le coups, je ne tape jamais le nom des ZT et autres élements qui me servent. Je réalise toujours des copier/coller. Mais là, ça ne sert stritement à rien. Le nom de ZT3 correpond bien dans ZT4, j'ai essayé de changer le nom et de le recopier, rien n'y fait. C'est une véritable allucination.
    Qu'est-ce qui peut faire qu'Access ne réussisse pas à compter correctement?

    Mr White

  6. #6
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Il faut que la zone ZT3 est un nom, et dans la zone ZT4 y faire référence : =somme([Nom de ZT3])

  7. #7
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    c'est bien ce que je fais.

    ZT1:
    nom=SommeDePourCompter
    Source contrôle=1

    ZT2:
    nom=PXEDBL
    Source contrôle=PXEDBL (liaison avec une ZT d'un formulaire)

    ZT3:
    nom=multiplication
    Source contrôle=[PXEDBL]*[SommeDePourCompter]

    ZT4:
    nom=Texte12
    Source contrôle=Somme([multiplication]) ou somme([PXEDBL]*[SommeDePourCompter])

    Rien ne marche.

  8. #8
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Ton code est correct. Maintenant, as-tu des valeurs qui apparaissent dans la zone ZT3 ? Ton erreur pourrait venir du fait que l'un des champs ZT3 soit nul. Et alors la somme ne peut se faire.

  9. #9
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    ZT3 possède bien une valeur. Voilà ce que ça donne (c'est un exemple).

    ZT1...............ZT2.............ZT3
    ..1..................3.................3
    ..1..................3.................3
    ..1..................3.................3
    ..1..................3.................3
    ..1..................3.................3
    ................................ZT4..53

    Petite info, j'ai remplacé 1 de ZT1 par 2. Voilà ce que ça donne.

    ZT1...............ZT2.............ZT3
    ..2..................3.................6
    ..2..................3.................6
    ..2..................3.................6
    ..2..................3.................6
    ..2..................3.................6
    ................................ZT4..53

    A noter que même si ZT3 change, ZT4 garde le même résultat.

  10. #10
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Essaye en procédant de la façon suivante :

    ZT1:
    nom=VAL_ZT1
    Source contrôle=1

    ZT2:
    nom=VAL_ZT2
    Source contrôle=PXEDBL (liaison avec une ZT d'un formulaire)

    ZT3:
    nom=VAL_ZT3
    Source contrôle=[VAL_ZT1]*[VAL_ZT2]

    ZT4:
    nom=VAL_ZT4
    Source contrôle=Somme([VAL_ZT3])

  11. #11
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    Ca y est j'ai essayé et ça ne marche pas. J'ai changé les noms et les sources contrôles et il me demande:

    "rentrer la valeur du paramètre VAL_ZT1",
    "rentrer la valeur du paramètre VAL_ZT2",
    "rentrer la valeur du paramètre VAL_ZT3",
    "rentrer la valeur du paramètre VAL_ZT4",

    Je me demande si c'est pas tout simplement mon sous-formulaire qui s'est "crashé". Je vais essayer de le refaire pour voir.

    Mr White

  12. #12
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Tu ne rentres pas les noms au bon endroit :

    Pour modifier les noms, il faut aller dans la fenêtre Propriété, puis aller dans l'onglet Autres, et là chercher le champ Nom.

    Toi, tu as modifié les champs Sources dans l'onglet Données.

  13. #13
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    ben non, ça colle.

    Je suis dans les propriétés. Je clique sur Toutes. Ligne1 c'est le nom (que l'on retrouve dans l'onglet autres) et ligne 2 c'est source contrôle (que l'on retrouve dans l'onglet données).

    Donc c'est bon, je fais ce que tu me conseilles. Une petite question tout de même. C'est bien dans source contrôle de ZT1 que je doit mettre "=1"? Je demande ça car je viens de refaire un sous-état qui me donne exactement les mêmes soucis alors qu'avant de mettre =1 ça marchais (avec une liaison sur un sous formulaire).

    Mr White

  14. #14
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Tu peux mettre =1 ou 1

  15. #15
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    ZT1:
    nom=VAL_ZT1 onglet Autres
    Source contrôle=1 onglet Données

    ZT2:
    nom=VAL_ZT2 onglet Autres
    Source contrôle=PXEDBL (liaison avec une ZT d'un formulaire) onglet Données

    ZT3:
    nom=VAL_ZT3 onglet Autres
    Source contrôle=[VAL_ZT1]*[VAL_ZT2]onglet Données

    ZT4:
    nom=VAL_ZT4 onglet Autres
    Source contrôle=Somme([VAL_ZT3])onglet Données

  16. #16
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    Ok, c'est ce que j'avais fait avec une autre méthodologie ... et ça ne marche pas mieux.Incroyable ce truc.
    Peut-être que ça peut t'aider si je te dis que je suis sur Access 2000 (il y a peut-être des spécificités à cette version).

    Mr White

  17. #17
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    Après avoir réalisé quelques modifications, je sais maintenant pour quoi le résultat n'est pas bon.
    Mon sous-formulaire est lié à une requête. Dans cette requête, il y a le champs SommeDePourCompter qui est la somme de plusieurs valeurs. Lorsque je lui dit: "Source contrôle=1", Access affiche 1 mais garde en mémoire pour le calcul la valeur de la somme de la requête. Ca donne donc ça.

    ZT1...........Valeur pr calcul..............ZT2.....................ZT3
    ..1..................1...............................3........................3
    ..1..................1...............................3........................3
    ..1..................3...............................3........................9
    ..1..................5...............................3........................15
    ..1..................1...............................3........................3
    ..1..................1...............................3........................3
    ..1..................2...............................3........................6
    ..1..................1...............................3........................3
    ..1..................1...............................3........................3
    ........................................................................ZT4..48

    La question est donc: comment donner à une ZT liée à une requête une valeur constante comme 1 par exermple?

    Mr White

  18. #18
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Dans le champ source, tu mets la valeur "1". Mais attention de ne pas lui donner le même nom qu'un des champs de requêtes...

  19. #19
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    c'est justement quand je lui change de nom qu'il me pose la question
    rentrer la valeur du paramètre VAL_ZT1
    J'ai l'impression que lorsque je met un nom qui n'est pas un critère de la requête, Access n'aime pas trop et me demande de lui dire qui c'est.

    Mr White

    PS: je t'ai envoyé un bout de la BdD. Si quelqu'un d'autre le veux pour participer au grand concours de prise de tête, il n'y a aucun problème.

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

Discussions similaires

  1. [WD12] Somme dans un etat
    Par Benoy dans le forum WinDev
    Réponses: 1
    Dernier message: 10/10/2008, 11h28
  2. cumul, somme dans un etat?
    Par aquafafa dans le forum IHM
    Réponses: 8
    Dernier message: 28/02/2008, 15h07
  3. somme dans un etat
    Par gui-llaume dans le forum IHM
    Réponses: 2
    Dernier message: 31/10/2007, 11h55
  4. effectuer une somme dans un etat
    Par pit88 dans le forum VBA Access
    Réponses: 2
    Dernier message: 29/08/2007, 13h06
  5. Plusieurs CALCULS somme dans un ETAT
    Par dynxd dans le forum IHM
    Réponses: 2
    Dernier message: 28/09/2005, 16h45

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