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 :

Somme dans pied de formulaire qui renvoie #Erreur [AC-2007]


Sujet :

IHM

  1. #1
    Membre averti Avatar de Oliv'83
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Mars 2008
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2008
    Messages : 421
    Points : 309
    Points
    309
    Par défaut Somme dans pied de formulaire qui renvoie #Erreur
    Bonsoir à tous,

    Tout d'abord mes meilleurs voeux pour cette nouvelle année.

    Je suis confronté à un problème qui me tient en haleine depuis le début de l'après midi mais là je sature...

    J'ai un formulaire dont j'ai voulu optimiser les requêtes qui l'alimentent car elles mettaient plusieurs secondes à sortir les données. J'arrive maintenant à avoir une ouverture du formulaire quasi instantanée avec les bonnes données qui s'affichent (Youpi!!).

    J'ai dans mon formulaire un calcul en pied de formulaire qui me donne la somme d'une des txtboxs de mon formulaire dont la source est :

    Et depuis mes changements j'ai "#Erreur" qui s'affiche dans la txtbox alors qu'avant cela fonctionnait sans problème. Je ne comprends pas ce qu'il se passe et j'ai atteint les faibles limites de ma connaissance... Alors si quelqu'un a une solution je suis preneur. Je précise que txtPAP_Etat est de type monétaire au cas ou cela ait une incidence.

    Merci d'avance et bonne soirée.

    Oliv'

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Tu as problablement une valeur Null quelque part dans tes données.

    Essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Somme(iif(isnull([txtPAP_Etat]);0;[txtPAP_Etat]))
    Note que Access va traduire les noms des fonction en français automatiquement.

    Et c'est bien iif avec 2 i, ce n'est pas une faute de frappe.

    A+

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonsoir,

    Je dirai plutôt que le contrôle [txtPAP_Etat] est un contrôle calculé. Ce qui produit l'erreur.
    J'ai pas compris pourquoi, mais Access ne veut pas calculer la somme d'un contrôle calculé dans un pied de formulaire.

    Il faut le détail pour voir comment contourner.

    Bonne continuation

  4. #4
    Membre averti Avatar de Oliv'83
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Mars 2008
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2008
    Messages : 421
    Points : 309
    Points
    309
    Par défaut
    Bonjour marot_r, bonjour madefemere,

    Merci de votre aide.

    Malheureusement le code de marot_r ne fonctionne pas plus. Comme les données s'affichent dans mon formulaire je savais qu'il n'y avait pas de valeur null. Mais j'ai quand même essayé de mettre ton code, en vain.

    Citation Envoyé par madefemere Voir le message
    Je dirai plutôt que le contrôle [txtPAP_Etat] est un contrôle calculé. Ce qui produit l'erreur.
    C'est effectivement le cas. Mais c'était déjà le cas aussi avec l'ancienne version du formulaire et cela fonctionnait parfaitement.

    Je vais essayer de trouver un moyen de contourner le problème en calculant la somme avec une requête mais je trouve dommage de ne pas pouvoir le faire via la fonction dédiée...

    Oliv'

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour,

    Si tu arrives à faire en sorte que la valeur du champ [txtPAP_Etat] soit calculée directement dans la source de ton formulaire ( défini comme étant un champ de la requête j'imagine), tu peux utiliser la fonction Somme([txtPAP_Etat]).

    Et je pense que c'est ce qui ralentissait le temps d'affichage et que tu voulais modifier (Cf ton premier post).
    J'ai le même cas sur une de mes applications.

    Bonne continuation

  6. #6
    Membre averti Avatar de Oliv'83
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Mars 2008
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2008
    Messages : 421
    Points : 309
    Points
    309
    Par défaut
    Tout d'abord j'ai réussi à solutionner mon problème.

    Je ne suis pas du tout sûr de ce que je vais écrire mais cela donnera peut être des idées à d'autres personnes pour résoudre un problème similaire.

    Il semblerait comme me l'a indiqué madefemere (merci au passage) que le problème vienne du fait que mon champ alimentant mon formulaire soit issu d'un calcul. Cependant j'ai réussi à le remplacer par un champ (calculé lui aussi) avec pour principale différence que le premier champ découlait d'une suite de calculs réalisés dans la même requête alors que ma seconde version est calculée dans une autre requête.

    Je m'explique : j'avais A= B*C et D=A*E dans la même requête et quand je demandais somme([D]) j'avais droit à #ERREUR. Mais en calculant D dans une autre requête qui alimente la requête du formulaire le problème n'existe plus...

    Bonne journée à tous

    Oliv'

  7. #7
    Membre à l'essai
    Homme Profil pro
    gct
    Inscrit en
    Janvier 2022
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : gct
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2022
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Besoin d'aide !
    Bonjour Oliv'83,

    J'ai pratiquement le même problème, en effet, après recopiage d'un formualire (de type continu), le champs calculé au pied du formulaire renvoie #ERREUR alors que pour le formulaire d'rigone tout était bien.

    il s'agit d'un champs calculé de type contrôle indépendant qui a comme source de contrôle l'expression: =Somme("[Valeur Actuel]") où "Valeur Actuel" est un champ caluclé dans la requête source du formulaire.

    sauf que,contrairement à votre cas, le champs "Valeur Actuel" est calculé directement sur la base des champs normales de la requête et non pas des champs calculés.

    je suis vraiment bloqué, et je ne sais pas si tu peu m'aider ?
    MERCI d'avance

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour,

    peux-tu être plus explicite sur :
    sauf que,contrairement à votre cas, le champs "Valeur Actuel" est calculé directement sur la base des champs normales de la requête et non pas des champs calculés.
    Est-ce que "Valeur Actuel" est un champ de la requête ?
    ou
    Comme source, c'est le résultat d'un calcul de plusieurs champs de la requête source.

    Cordialement.

  9. #9
    Membre à l'essai
    Homme Profil pro
    gct
    Inscrit en
    Janvier 2022
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : gct
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2022
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Re bonjour, et merci pour votre réponse

    [Valeur Actuel] est un champ calculé de la requête.

    Cordialement

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

Discussions similaires

  1. [2.x] Liste déroulante d'un formulaire qui renvoie 0 dans la bdd
    Par edd83 dans le forum Symfony
    Réponses: 45
    Dernier message: 06/02/2013, 09h38
  2. Créer un site avec formulaire qui renvoi les infos dans un autre formulaire.
    Par B0unti dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/07/2012, 11h22
  3. Somme en pied de formulaire dependant d'une date
    Par profane dans le forum IHM
    Réponses: 3
    Dernier message: 16/05/2007, 21h10
  4. cacul d'une somme dans un sous formulaire
    Par T'chab dans le forum IHM
    Réponses: 5
    Dernier message: 22/01/2007, 14h17
  5. Fonction qui renvoie erreur dans mon état
    Par Daniel MOREAU dans le forum Access
    Réponses: 1
    Dernier message: 20/10/2005, 12h40

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