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 :

Valeur Null dans zones de textes


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 39
    Points
    39
    Par défaut Valeur Null dans zones de textes
    Bonjour à tous,

    J'ai une erreur "Incompatibilité de type sur le code si-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub TxtJan_AfterUpdate()
        'MAJ du montant total
        Me.MtTotal = Nz(Me.TxtJan, "0") + Nz(Me.TxtFev, "0") + Nz(Me.TxtMar, "0") + Nz(Me.TxtAvr, "0") + Nz(Me.TxtMai, "0") + Nz(Me.TxtJuin, "0") + Nz(Me.TxtJuil, "0") + Nz(Me.TxtAou, "0") + Nz(Me.TxtSep, "0") + Nz(Me.TxtOct, "0") + Nz(Me.TxtNov, "0") + Nz(Me.TxtDec, "0") + Nz(Me.CoutFrais, "0")
    End Sub
    Cela arrive quand je saisie les mensulalités malgrés l'utilisation de la fonction "NZ" pour eviter les valeurs null.

    Pourriez vous m'aider SVP ?

    Cordialement,

    Parab

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 184
    Points : 1 363
    Points
    1 363
    Par défaut
    et comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub TxtJan_AfterUpdate()
        'MAJ du montant total
        Me.MtTotal = Nz(Me.TxtJan, 0) + Nz(Me.TxtFev, 0) + Nz(Me.TxtMar, 0) + Nz(Me.TxtAvr, 0) + Nz(Me.TxtMai, 0) + Nz(Me.TxtJuin, 0) + Nz(Me.TxtJuil, 0) + Nz(Me.TxtAou, 0) + Nz(Me.TxtSep, 0) + Nz(Me.TxtOct, 0) + Nz(Me.TxtNov, 0) + Nz(Me.TxtDec, 0) + Nz(Me.CoutFrais, 0)
    End Sub

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 39
    Points
    39
    Par défaut
    Non, cela n'a pas marché

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 184
    Points : 1 363
    Points
    1 363
    Par défaut
    Message d'erreur ?
    Sinon, ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub TxtJan_AfterUpdate()
        'MAJ du montant total
        MtTotal.value = Nz(TxtJan.value, 0) '+ Nz(TxtFev.value, 0) + Nz(TxtMar.value, 0) + Nz(TxtAvr.value, 0) + Nz(TxtMai.value, 0) + Nz(TxtJuin.value, 0) + Nz(TxtJuil.value, 0) + Nz(TxtAou.value, 0) + Nz(TxtSep.value, 0) + Nz(TxtOct.value, 0) + Nz(TxtNov.value, 0) + Nz(TxtDec.value, 0) + Nz(CoutFrais.value, 0)
    End Sub
    ça fonctionne ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 39
    Points
    39
    Par défaut
    Oui, pourquoi cela ne marche pas pour toutes les zones ?

  6. #6
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 184
    Points : 1 363
    Points
    1 363
    Par défaut
    Ch'ais pas.
    Rajoute les zones une à une, tu verras bien où ça plante.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 39
    Points
    39
    Par défaut
    cela ne marche pas avec une deuxième zone, c'est comme s'il prend pas en compte la valeur 0. Je ne comprend pas

  8. #8
    Membre confirmé Avatar de Tonioyo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 343
    Points : 518
    Points
    518
    Par défaut
    Bonjour,

    C'est normal que cela ne fonctionne pas puisqu'une zone de texte c'est du texte soit le type String il faut donc "caster" (c.a.d. changer de type) la valeur pour pouvoir l'additionner grace à Cint, Clng et Cdouble par exemple

    Donc ca donne quelquechose dans ce genre là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub TxtJan_AfterUpdate()
        'MAJ du montant total
        MtTotal.value = Clng(Nz(TxtJan.value, 0)) + Clng(Nz(TxtFev.value, 0)) '+ Nz(TxtMar.value, 0) + Nz(TxtAvr.value, 0) + Nz(TxtMai.value, 0) + Nz(TxtJuin.value, 0) + Nz(TxtJuil.value, 0) + Nz(TxtAou.value, 0) + Nz(TxtSep.value, 0) + Nz(TxtOct.value, 0) + Nz(TxtNov.value, 0) + Nz(TxtDec.value, 0) + Nz(CoutFrais.value, 0)
    End Sub
    Du coup le Nz n'est peut être plus utile voir la doc pour être sûr.

  9. #9
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 184
    Points : 1 363
    Points
    1 363
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub TxtJan_AfterUpdate()
    debug.print Nz(TxtFev.value, 0)
        'MAJ du montant total
        MtTotal.value = Nz(TxtJan.value, 0) '+ Nz(TxtFev.value, 0) + Nz(TxtMar.value, 0) + Nz(TxtAvr.value, 0) + Nz(TxtMai.value, 0) + Nz(TxtJuin.value, 0) + Nz(TxtJuil.value, 0) + Nz(TxtAou.value, 0) + Nz(TxtSep.value, 0) + Nz(TxtOct.value, 0) + Nz(TxtNov.value, 0) + Nz(TxtDec.value, 0) + Nz(CoutFrais.value, 0)
    End Sub
    T'as quoi dans la fenêtre exécution ?

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 39
    Points
    39
    Par défaut
    Cela ne marche pas non plus, c'est vraiment incompréhensible...

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 39
    Points
    39
    Par défaut
    J'ai toujours l'erreur "Incompatibilité de type".

  12. #12
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 184
    Points : 1 363
    Points
    1 363
    Par défaut
    Je m'en doute, mais qu'est ce qu'il y a dans la fenêtre exécution (CTRL-G quand tu es dans un module) ?

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 39
    Points
    39
    Par défaut
    Je copie la formule de calcul, je la colle dans la fenêtre d'exécution, et j'ai même message d'erreur...

  14. #14
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 184
    Points : 1 363
    Points
    1 363
    Par défaut
    le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    debug.print Nz(TxtFev.value, 0)
    donne quoi ?

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 39
    Points
    39
    Par défaut
    Rien, fenêtre vide après avoir exécuté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    debug.print Nz(TxtFev.value, 0)

  16. #16
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 184
    Points : 1 363
    Points
    1 363
    Par défaut
    Nous y voilà.
    Dans txtFev, tu as ""
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.print iif(nz(txtfev.value, "") = "", 0, txtfev.value)
    Donne quoi ?

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 39
    Points
    39
    Par défaut
    0, bravo chef
    Cela devra marcher maintenant.

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

Discussions similaires

  1. Problème : Affichage NULL dans zones de textes
    Par tssi555 dans le forum VB.NET
    Réponses: 7
    Dernier message: 11/08/2008, 13h46
  2. Réponses: 5
    Dernier message: 23/08/2006, 19h42
  3. Réponses: 8
    Dernier message: 04/08/2006, 01h51
  4. [Access2003] Récup valeur dans zone de texte
    Par Ben-jii dans le forum Access
    Réponses: 21
    Dernier message: 28/07/2006, 16h53
  5. [Débutant] Utilisation d'une valeur de la zone de texte dans une requête
    Par oceanediana dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 13/07/2006, 10h42

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