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

VBA Access Discussion :

Pb Champ vide erreur sur calcul [Toutes versions]


Sujet :

VBA Access

  1. #1
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 352
    Points : 150
    Points
    150
    Par défaut Pb Champ vide erreur sur calcul
    Bonjour le forum
    Je me tourne vers vous car j' ai une correction a apporté à un calcul.
    Sur un formulaire de type onglet, Dans un des onglets se trouve le sous formulaire config_date2.Dans au autre Onglet le sous formulaire frmProfilsSub
    Sur le forumaire un champ NBJoursAn qui recoit le résulalt de cette soustraction
    Le fonctionnement est correct si rien n' est vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Config_date2.Formulaire!Solde-frmProfilsSub.Formulaire!Totalj
    J' ai fait la modif suivante qui ne donne pas de résulatat mais m' indique ma formule n' est pas bonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     =Config_date2.Formulaire!Solde-Val(Nz(frmProfilsSub.Formulaire!Total,0))
    Quel solution dois je faire pour lui dire si un des deux est null, tu ne m' affiche 0
    rien
    Merci d' avance
    Aladin

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Bonjour Aladin, renseignes-toi sur la fonction iif(Condition,ValeurSiVrai,ValeurSiFaux)

    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Nz(Config_date2.Formulaire!Solde-frmProfilsSub.Formulaire!Totalj,0)
    ça ne marche pas ?
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 106
    Points : 135
    Points
    135
    Par défaut
    Bonsoir !

    Citation Envoyé par Aladin_23 Voir le message
    J' ai fait la modif suivante qui ne donne pas de résulatat mais m' indique ma formule n' est pas bonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     =Config_date2.Formulaire!Solde-Val(Nz(frmProfilsSub.Formulaire!Total,0))
    Le problème vient de l'utilisation de Val et non de Nz. Essaie simplement ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     =nz(Config_date2.Formulaire!Solde,0)-Nz(frmProfilsSub.Formulaire!Total,0)
    cordialement,

  4. #4
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 352
    Points : 150
    Points
    150
    Par défaut
    Bonsoir paidge, Aegnor et le forum
    Merci d' avoir répondu, j' ai fait des test avec la solution nz en enlevant le val, j' ai toujours un message d' erreur (#nom?)
    Aladin

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 106
    Points : 135
    Points
    135
    Par défaut
    Mmmh, je me demande si tu n'aurais pas une référence manquante dans tes modules VBA, car j'ai comme l'impression que Access ne reconnait pas ta fonction.
    Ouvre le code VBA de ton formulaire. Ensuite dans le menu Outils, clique sur "références". Regarde si dans la liste des références cochées, il n'y en aurait pas une qui commencerait par "MANQUANT". Si c'est le cas, décoche cette référence et regarde si ça fonctionne.

  6. #6
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 352
    Points : 150
    Points
    150
    Par défaut
    Bonjour Aegnor et le forum
    Désolé pour ce retard, j' ai éffectué des testsv regardé si il n' y avait pas de référence manquantes, hélas non. Ce que je ne comprend pas c' est que sans le NZ le focntionnement est correct et avec le NZ il y a l' erreur signifiant que la formule est incorrect
    Aladin

  7. #7
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Pour parfaire l'utilsation d'un formulaire parent et de récolter les données agrégées du formulaire enfant, il faut insérer dans le sous formulaire un champ caché qui prend la valeur souhaitée.
    Par exemple, dans un sous-formulaire on suppose qu'il existe un champ Prix et que l'on a besoin de récupérer la somme de ces prix dans le formulaire parent mais on ne souhaite pas voir ce total dans le sous-formulaire.
    On insére alor dans le pied de formulaire du sous-formulaire un champ caché nommé txtTotalPrix.
    Le sous formulaire doit posséder un nom sans espace : on suppose ici qu'il se nomme sfDetailsPrix.

    Dans le formulaire parent on écrira :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Nz([sfDetailsPrix]![txtTotalPrix]; 0)
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  8. #8
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 352
    Points : 150
    Points
    150
    Par défaut
    Bonjour argyronet, Aegnor et le forum
    J' avais déja mes deux contrôles dans les pieds de mes deux sous formulaires, j' ai reporté ces deux contrôles sur le formulaire principal , et je fais ma soustraction à partir de ces deux contrôles, bien entendu avec la fonction nz,
    en suivant les instructions argyronet
    C' est ok Merci de votre aide
    Aladin

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

Discussions similaires

  1. [Toutes versions] Donnée absent dans champ. Erreur sur Calcul
    Par Aladin_23 dans le forum VBA Access
    Réponses: 4
    Dernier message: 23/04/2013, 22h11
  2. [AC-2010] Importation champs vide = #ERREUR ?
    Par plm222 dans le forum Access
    Réponses: 2
    Dernier message: 31/12/2012, 06h51
  3. Erreur sur un champ calculé
    Par cyberbase dans le forum Access
    Réponses: 2
    Dernier message: 01/07/2010, 14h54
  4. champ somme sur calcul = #ERREUR
    Par popofpopof dans le forum Access
    Réponses: 10
    Dernier message: 16/11/2007, 16h46
  5. erreur sur calcul
    Par Sendo dans le forum Access
    Réponses: 2
    Dernier message: 29/09/2005, 09h46

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