Voir si une valeur est Null

Signaler
Messages postés
257
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
10 octobre 2013
-
Messages postés
8
Date d'inscription
mardi 16 septembre 2003
Statut
Membre
Dernière intervention
16 décembre 2008
-
Bonjour,

voila mon problème si mes valeurs sont null

lorsque je fais

Debug.Print Me!mois
Debug.print me!année

cela m'affiche deux fois Null

mais après des que je fais


    If Me!mois2 Null Or Me!année2 Null Then
        MsgBox "Veuillez remplir les cases"
        Exit Sub
    End If

Il ne rentre pas dans le if
Si quelqu'un peut me dire pourquoi ou a une solution annexes
merci d'avance

12 réponses

Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Essaye défois avec soit : Nothing ou Empty

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
salut,

c'est quoi mois2 et annee2 ? des contrôles ?
Remplace ton = par Is mais j'attends surtout de savoir ce que sont mois et annee

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
et si t'es avec un formulaire Access précise le stp car c'est quand même différent des UserForm VBA

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA
Messages postés
257
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
10 octobre 2013

bah Me!mois2 et Me!année2 sont des valeurs rentreé par l'utilisateur dans un formulaire Access et je veux justement géré quand l'utilisateur met rien alors qu'il doit mettre quelque chose.


Sinon oui c'est dans un formulaire Access
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
107
ce serait pas vbNull la constante plutôt ?
Messages postés
257
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
10 octobre 2013

Il faut que j'utilise la fonction IsNull()
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
rahh la galère ce Access 07..
essaie conventionnellement :
    If Me.mois2.Text vbNullString Or Me.année2.Text vbNullString Then
        MsgBox "Veuillez remplir les cases"
        Exit Sub
    End If

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA
Messages postés
257
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
10 octobre 2013

Ca ne fonctionne pas, il me manque les référence. Lesquel je devrais utiliser??
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
j'en sais rien..

En fait, apparemment, faut selectionner le contrôle avant de le tester, sinon, j'ai une erreur de me*de !!
Et vu que t'en as 2.. bref, je te propose une solution secours, mais c'est à corriger car il y a obligatoirement mieux à faire (mais bon, c'est solution dépannage) :

Me.mois2.SetFocus
    If Me.mois2.Text = vbNullString Then
       Me.année2.SetFocus
        If  Me.année2.Text = vbNullString Then
            MsgBox "Veuillez remplir les cases"
            Exit Sub
        End If
    End If

C'est pour ça que j'aime pas access, c'est différent et pas top en code. Bref, j'espère que quelqu'un pourra me corriger et te proposer mieux que ma daube

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA
Messages postés
257
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
10 octobre 2013

Sinon il y a ca cela fonctionne très bien

    If IsNull(Me!mois2) Or IsNull(Me!année2) Then
        MsgBox "Veuillez remplirs les cases"
        Exit Sub
    End If
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

Bonjour,

j'ai eu un problème similaire sur VBA Excel et il fallait écrire "Null"
If Me!mois2 "Null" Or Me!année2 "Null" Then
        MsgBox "Veuillez remplir les cases"
        Exit Sub
    End If

Je n'ai pas Access pour tester, mais bon si ça marche, tant mieux!

Tubafat
Messages postés
8
Date d'inscription
mardi 16 septembre 2003
Statut
Membre
Dernière intervention
16 décembre 2008

Bonjour ! Si je peux me permettre, la solution de Darkspoilt est correcte :

If IsNull(Me!mois2) Or IsNull(Me!année2) Then
        MsgBox "Veuillez remplirs les cases"
        Exit Sub
End If


Mais, il ne faut pas oublier de traiter le cas chaine vide :

If IsNull(Me!mois2) Or IsNull(Me!année2) Then
        MsgBox "Veuillez remplir les cases"
        Exit Sub
End If
Me!mois2=trim(Me!mois2)
Me!année2=trim(Me!année2)
if len(me!mois2)=0 or len(Me!année2)=0 then
        MsgBox "Veuillez remplir les cases"
        Exit Sub
endif