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 :

La fonction NZ n'affiche pas zéro


Sujet :

IHM

  1. #1
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut La fonction NZ n'affiche pas zéro
    Bonjour,

    Je rencontre un problème sur une base de données qui fonctionnait bien jusqu'à maintenant (les sauvegardes ultérieures et successives font de même).

    Qu'est ce qu'il a bien pu se passer ?

    Je dois faire la somme des versements Epargne par adhérent.

    J'ai créé une requête liant la table ADHERENT et EPARGNE.

    Dans mon formulaire, un contrôle TotalEPARGNE ayant pour source:
    Si le champ MontantEPARGNE n'est pas vide, c'est OK.

    Si le champ est vide, je n'ai pas de résultat.

    Donc j'ai crée dans ma requête une nouvelle colonne M_Montant avec:Cette colonne comporte bien des Zéros lorsque le champ MontantEPARGNE correspondant est vide, mais cela ne change rien dans mon contrôle TotalEPARGNE qui n'affiche toujours rien quand il somme des Zéros.
    Pour un traitement ultérieur, j'ai besoin que ce contrôle ne soit pas vide.
    J'ai donc essayé : sans changement, le contrôle TotalEPARGNE est toujours vide.

    Si quelqu'un peut m'apporter de l'aide, il sera le bienvenu.

    JCB57

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 917
    Points : 4 818
    Points
    4 818
    Par défaut
    Bonjour,
    mes propositions :
    dans les fonctions utilisées dans les requetes, il est recommandé de mettre des [] autour des champs arguments
    donc essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    somme([M_Montant])
    sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    somme(NZ([MontantEPARGNE];0))
    Hopefully

  3. #3
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Bonjour,

    Merci de cette réponse.

    Les crochets ont été ajoutés automatiquement et sans nouveau résultat.

    JCB57

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 917
    Points : 4 818
    Points
    4 818
    Par défaut
    Pour plus d'aide, donne nous plus d'infos :
    description des colonnes dans les 2 tables en jeu
    et quelle est ta requête actuelle (en sql) ?

    A suivre

  5. #5
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Bonjour,

    Pour faciliter la recherche de l'erreur et aussi la tester sur un autre ordinateur, ci-joint ma base.

    Comme cette erreur survient tout à coup et aussi sur les fichiers ultérieurs sauvegardés, est ce que cela ne proviendrait-il pas d'une altération d'ACCESS (référence manquante par exemple)?

    JCB
    Fichiers attachés Fichiers attachés

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Bonjour,

    Nz(somme()) renvoie 0 si l'un des nombres est nul, c'est somme(nz()) qui renvoie la bonne réponse comme l'indique micniv !

  7. #7
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Bonjour,

    Déjà essayé et pas d'amélioration.

    Pouvez vous tester ma base mise en piéce jointe sur la réponse précèdente?

    Merci.

    JCB57

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,

    Si pas d'épargne ► Pas de données dans le sous formulaire.

    Pour faire simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Current()
        Me.sfrm_EPARGNE.Visible = (Me.sfrm_EPARGNE.Form.RecordsetClone.RecordCount > 0)
    End Sub
    Cordialement.

  9. #9
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Je reviens sur ce problème.

    J'ai tout repris à zéro.

    - Suppression dans la requête du nouveau champs "M_MONTANT" complété automatiquement par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =nz([EpargneMONTANT];0)
    .

    - dans le sfr_Epargne, le champ de contrôle de "EpargneTOTAL" est modifié, au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =nz(somme([epargnemontantl]);0)
    remplacé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Somme([epargnemontant])
    , donc dans l'absence d'une valeur, il reste vide.

    - dans le frm_adherent, le champ de contrôle "TotalEPARGNE" est maintenant complété par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NullToZero([sfrm_EPARGNE].[Formulaire]![EPARGNEtotal])
    et ça tourne.

    La fonction "NulltoZero" provient d'ici, mais le voici pour ceux que ça interesse.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Function NullToZero(anyValue As Variant) As Variant
    On Error GoTo error
        If IsNull(anyValue) Then
            NullToZero = 0
        Else
            NullToZero = anyValue
        End If
    Exit Function
    error:
    NullToZero = 0
    End Function
    Donc maintenant ça tourne à nouveau, mais je me demande si ça provient bien de ces modifications qu'il me semble avoir essayées précédemment.

    Merci à tous pour votre aide.

    JC57

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

Discussions similaires

  1. Le résultat de la fonction ne s'affiche pas
    Par rimbaut dans le forum Langage
    Réponses: 3
    Dernier message: 09/06/2010, 14h15
  2. Réponses: 9
    Dernier message: 20/09/2008, 21h56
  3. comment ne pas afficher les zéro dans un diagramme à barres empilées
    Par sebastien84 dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 10/10/2007, 12h17
  4. [MySQL] Fonction echo'' ne s'affiche pas.
    Par Velkan.nexus dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/10/2007, 16h17
  5. Réponses: 7
    Dernier message: 02/01/2007, 16h25

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