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

IHM Discussion :

Calcul dans pied de formulaire [AC-2016]


Sujet :

IHM

  1. #1
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 372
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut Calcul dans pied de formulaire
    Bonjour le Forum,
    Je cherche à faire l'addition (dans le pied de formulaire) d'un contrôle (Cal_Present) de tous les jeux d'enregistrement. Pour ce faire j'utilise dans un contrôle placé dans le pied du formulaire la formule mais j'obtients le résultat .
    Est-il possible d'effectuer ce genre de calcul ?
    Est-ce que la formule utilisée est bonne ?
    Je me demande si je n'ai pas un problème de PC.
    Je joins une photo pour une meilleur compréhension.
    Je peux joindre ce bout de fichier au besoin.
    Cordialement
    Images attachées Images attachées  

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    la formule est bonne. Lequel des 3 contrôles est utilisé ?
    il faudrait une impression du formulaire en mode création
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Le problème semble lié à la case verte ou vous sommez probablement du texte;
    si vous supprimez la case verte, je crois que ça devrait marche.

  4. #4
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 372
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Bonjour Teegranbois et Zekraoui
    Merci de vos réponses rapides.

    Pour Tee-Grandbois
    Je te joins une photo du formulaire en mode création.
    Voici la formule, placée dans détail (nom contrôle Cal_Present), pour le calcul de la case Present
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux([Present]=-1;1;0)
    Voici la formule, placée dans pied de formulaire, additionnant le contrôle Cal-Present Je ne suis pas arrivé à joindre directement la photo par gérer les pièces jointes donc voici le lien par cijoint
    https://www.cjoint.com/c/KAui4cDlfzl

    Pour Zekraoui
    Je ne fais aucune addition depuis une étiquette.
    La case verte dans détail est en format numérique et non en zone texte.

    Cordialement

  5. #5
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    la formule =Somme([Cal_Present]) peut être remplacée par: =Somme(Abs([Present])) mais je ne vois toujours pas pourquoi les totaux provoquent #Erreur... La source du formulaire, est-elle une requête ou une table ? Si c'est une requête contient-elle des expressions complexes (VraiFaux ou autre fonction) ?

    [EDIT]: après test, je viens de me rendre compte que c'est bien l'utilisation d'un contrôle indépendant (Cal_Present) dans un Somme qui provoque l'erreur partout, même si la somme de Present_adh est correcte
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  6. #6
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 372
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Re Tee_Grandbois
    Je me suis amusé à créer un nouveau fichier et effectivement je me suis rendu compte que lorsque j'effectuais une somme sur un contrôle contenant la fonction Vraifaux, automatiquement j'avais une erreur.
    Je pensais que cela provenait soit de mon installation Access 2016 ou de mon PC, mais si cela se produit également chez toi, cela ne provient pas de mon matos.
    La formule avec Abs ne fonctionne pas =somme(abs(Cal_Present)).
    Est-ce-qu'il est possible d'avoir ce résultat par VBA ?
    Cordialement

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Citation Envoyé par lmc71
    La formule avec Abs ne fonctionne pas =somme(abs(Cal_Present)).
    j'avais pourtant bien donné l'explication:
    Citation Envoyé par tee_grandbois
    c'est bien l'utilisation d'un contrôle indépendant (Cal_Present) dans un Somme qui provoque l'erreur partout
    et la solution en utilisant Present qui est un champ de la requête :Somme(Abs([Present]))
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  8. #8
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 372
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Re Tee_Grandbois
    Tu m'excuseras, mais je perds mon latin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    et la solution en utilisant Present qui est un champ de la requête :Somme(Abs([Present]))
    Je n'utilise pas de requête pour ce formulaire et Present est une case à cocher.
    Je ne vois pas où utiliser =Somme(Abs([Present]))
    J'ai créée une nouveau formulaire en passant par une requête où j'ai fait le Calcul dans un champ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cal_Present: VraiFaux([Present]=-1;1;0)
    Dans le formulaire en pied de formulaire j'ai placé et dans la case à cocher Present, j'ai placé une macro réexécuter la requête et le nom du contrôle placé dans le pied de formulaire suivi de Atteindre l'enregistrement :Suivant.
    En faisant ceci, la case cocher sélectionnée est prise en compte dans le calcul du pied de formulaire.
    Tout ceci n'est pas très académique.
    N'y a-a-t-il pas plus simple ?
    Pourquoi l'utilisation d'un contrôle indépendant avec Somme ne fonctionne pas ?
    Si tu veux je peux te joindre mon bout de fichier.
    Cordialement

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Je n'utilise pas de requête pour ce formulaire et Present est une case à cocher.
    si ce n'est pas dans une requête c'est donc un champ de la table (mais c'est la même chose au final)et puisque ce n'est pas un contrôle indépendant (voir l'impression écran du formulaire en mode création de ta pièce jointe, post #4) tu peux utiliser la valeur de la case à cocher (0 ou -1) en valeur absolue (Abs(-1) donnera 1) que tu pourras sommer.
    Je ne vois pas où utiliser =Somme(Abs([Present]))
    je répète: à la place de =Somme([Cal_Present]) dans le pied de formulaire
    Pourquoi l'utilisation d'un contrôle indépendant avec Somme ne fonctionne pas ?
    cela ne fonctionne pas dans un formulaire continu, car un contrôle indépendant est considéré comme unique pour tout le formulaire et pas pour chaque ligne.
    Il faut savoir qu'un formulaire continu Access n'en est pas vraiment un, c'est plutôt un découpage d'un bloc d'enregistrements présenté en plusieurs lignes (d'où l'obligation de passer par la mise en forme conditionnelle pour formater les contrôles des différentes lignes)
    Si tu veux je peux te joindre mon bout de fichier.
    si possible, j'y verrai mieux
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  10. #10
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 372
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Re Tee_Grandbois
    C'est un vrai plaisir de discuter avec toi.
    J'ai travaillé sur mon vrai fichier avec les modifications que tu m'as fourni et tout fonctionne à merveille et j'ai pu créer d'autres résultats en entête de formulaire et cacher le pied de formulaire
    si ce n'est pas dans une requête c'est donc un champ de la table (mais c'est la même chose au final)et puisque ce n'est pas un contrôle indépendant
    Ce n'est pas un champ de la table, mais un contrôle indépendant ajouter dans le détail du formulaire, d'où les erreurs.



    Voici le lien du fichier
    https://www.cjoint.com/c/KAuxHOKDbrl
    Ce fichier n'est qu'une ébauche de calcul pour ne pas casser mon fichier initial.
    Encore merci de tes conseils.
    Cordialement

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    Ce n'est pas un champ de la table, mais un contrôle indépendant ajouter dans le détail du formulaire, d'où les erreurs.
    je te parle du champ Present depuis le début et toi tu es persuadé que je te parle du contrôle Cal_present, ça peut encore durer longtemps
    relis bien tous les posts ...
    J'ai travaillé sur mon vrai fichier avec les modifications que tu m'as fourni et tout fonctionne à merveille
    il était temps !

    Nom : _0.JPG
Affichages : 142
Taille : 288,8 Ko
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  12. #12
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 372
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Bonjour Tee_Grandbois
    Excuses moi de mon incompréhension car je n'ai jamais utilisé la fonction ABS.
    Maintenant j'ai compris et ce grâce à toi.
    Encore une fois merci
    Cordialement

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

Discussions similaires

  1. [AC-2007] MAJ de calcul dans un sous formulaire
    Par Oliv'83 dans le forum IHM
    Réponses: 4
    Dernier message: 22/06/2009, 11h25
  2. [AC-2003] calcul dans un sous formulaire
    Par meryeminfo dans le forum IHM
    Réponses: 5
    Dernier message: 30/04/2009, 13h23
  3. Pb de calcul dans des champs formulaires
    Par norfaulk dans le forum IHM
    Réponses: 4
    Dernier message: 13/01/2009, 14h51
  4. Calcul dans les sous-formulaires
    Par rafa55 dans le forum Access
    Réponses: 3
    Dernier message: 21/06/2006, 10h37

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