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

Access Discussion :

Probleme avec Null : Is Null ne prends pas en compte tous mes enregistrements Vides. [AC-2003]


Sujet :

Access

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 125
    Points
    125
    Par défaut Probleme avec Null : Is Null ne prends pas en compte tous mes enregistrements Vides.
    Bonjour tout le monde,
    J’ai une table nommée T qui contient 30 enregistrements. j’ai dans cette table un champs (de type de donnée String ) nommé AnimauxDomestiques. Ce dernier contient 10 enregistrements « chien » et 20 enregistrements nulls.
    Mais bizarrement le code suivant me donne 12 au lieu de 20.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select  *
    From T
    Where T. AnimauxDomestiques is null
    Tandis que le code suivant me donne 8 au lieu de 20.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select  *
    From T
    Where T. AnimauxDomestiques <> « chien »
    Je ne comprends plus rien. Je precise que le champs AnimauxDomestiques compte bel et bien 10 « chien » et les 20 enregistrements restants ne contiennent rien c-a-d sont Null.
    Par contre, remarquez que la somme de 8 et 12 obtenus en haut font le compte de 20 enregistrements NULL.
    Svp aidez moi a comprendre ce qui ne va ? il me semble que le test Is Null n’arrive pas a prendre pas en compte la totalité de mes enregistrements Vides
    Merci d’avance.
    ps j utilise Access 2003

  2. #2
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 47
    Points : 45
    Points
    45
    Par défaut
    Salut c'est juste une idée. N'avez vous pas mis d'espace sans le savoir?

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 125
    Points
    125
    Par défaut
    C’est une base de donnees don’t j ai herite donc je ne sais pas si il y a des espaces qui ont ete introduits comme enregistrements. Si on suppose que c’est le cas comment pourrais-je les transformer/converter en Null afin que le test IS NULL me renvoie 20? En plus j’ai lu quelque part que la distinction entre “espace” et “Null” n’est importante que si on ecrit du code vba et donc a priori IS NULL devait prendre en compte non seulement les “vrai” Null mais en plus les “espaces”.

    merci de ta reponse

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Bonero et Nokho,

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT  *
    FROM T
    WHERE T. AnimauxDomestiques IS NULL
    ==> 12 enregistrements.


    Combien as-tu d'enregistrements dans
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT  *
    FROM T
    WHERE T. AnimauxDomestiques=""
    (guillemet, guillement, sans espace) ?


    D'autre part, je ne sais pas si le caractère "«" est bien pris en compte : il faut utiliser des guillemets en format ==> ".


    Donc, combien as-tu d'enregistrements dans
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT  *
    FROM T
    WHERE T. AnimauxDomestiques="chien"
    ?
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 47
    Points : 45
    Points
    45
    Par défaut
    Essaie ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT  *
    FROM T
    WHERE T. AnimauxDomestiques like "*"
    Si ça te donne plus de 10 donc il y a des caractères dans des enregistrements que tu crois vide.

  6. #6
    Membre expérimenté

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    Bonjour,
    On peut aussi utiliser Nz:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT  *
    FROM T
    WHERE trim(nz(AnimauxDomestiques, '')) = ''
    [Access] Les bases du débogage => ici

  7. #7
    Membre habitué
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 125
    Points
    125
    Par défaut
    merci a tout le monde et surtout a Kloun pour vos reponses, elle(la reponse de Kloun) permet de prendre en compte en une seule ligne de code les cas où on a Nulls ou "".
    pour info j'ai testé vos diverses propositions et effectivement ma table contient bel et bien des ZLS(zero length strings).

    maintenant j'aimerais savoir si il y a moyen de transformer/convertir ses espaces (cad "") en Null de maniere a pouvoir utiliser avec succes le test IS NULL.

    merci d'avance.

    Cordiallement.

  8. #8
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 089
    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 089
    Points : 5 206
    Points
    5 206
    Par défaut
    bonjour,
    c'est tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update matable set monchamp=null where monchamp=""
    Mais ensuite il faudra regarder pourquoi les 2 sont présents et faire en sorte qu'il n'y ait plus d'écriture de ""...
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  9. #9
    Membre habitué
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 125
    Points
    125
    Par défaut
    Citation Envoyé par nico84 Voir le message
    bonjour,
    c'est tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update matable set monchamp=null where monchamp=""
    Mais ensuite il faudra regarder pourquoi les 2 sont présents et faire en sorte qu'il n'y ait plus d'écriture de ""...
    Merci NICO84.
    bonne journee

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

Discussions similaires

  1. [AC-2010] probleme avec une valeur null sur une date
    Par kynder surprise dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/05/2012, 17h28
  2. Requête ne prends pas en compte tous mes paramètres
    Par franoisiup dans le forum Langage SQL
    Réponses: 9
    Dernier message: 23/04/2009, 22h29
  3. Probleme avec JFileChooser, file NULL
    Par mugwump dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 08/08/2007, 15h06
  4. probleme avec le layout null
    Par anisj1m dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 16/04/2007, 23h57
  5. Probleme avec un string null
    Par jayjay.f dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 04/04/2007, 21h39

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