Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Encore des problèmes de if :(

13 réponses
Avatar
nunurs
If Not IsNull(Me.txt_es)
Or Not IsNull(Me.txt_mois)
Or Not IsNull(Me.txt_annee)
Or Me.lbl_codir.Caption <> " " Then

Voilà un bout de code... txt_mois = null, txt_annee = null,
lbl_codir.Caption = " "
et pourtant ca passe dans le if :'(
Je ne vois pas pourquoi...je dois encore louper quelque chose de tout con...

3 réponses

1 2
Avatar
nunurs
je pense qu'un petite initialisation du champs par valeur par défaut = null
serait une idée sympa :-D


quel est le type de tes contrôles ? tous en texte ?
si tu testes contrôle par contrôle ça donne quoi ?

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"nunurs" a écrit dans le message de news:

| Oui j'ai testé avec un point d'arrêt et tout est null ou vide ("").
| A l'origine je testais des chaînes vides mais avec le point d'arrêt je me
| suis rendu compte que c'était le null qu'il fallait tester.
|
|
| > Pas forcément Null, ça peut être une chaîne vide (donc "") et ça n'a
| > rien à voir avec Null.
| >
| > En ce jour mémorable du lundi 21/05/2007, tu as entrepris la lourde
| > tâche de taper sur ton clavier :
| > > Dans mon formulaire je n'ai rien dans mes champs texte donc il sont à
null.
| > >
| > >> Bonjour.
| > >> et txt_es a quelle valeur ? pour compléter le tout.
| > >> quand on mélange les conditions Or Not et Not il est préférable de
placer
| > >> des paranthèses pour définir les priorités.
| > >> If (Not IsNull(Me.txt_es)) Or (Not IsNull(Me.txt_mois)) Or (Not
| > >> IsNull(Me.txt_annee)) Or (Me.lbl_codir.Caption <> " ") Then
| > >> il est préférable également d'utiliser Nz ce qui permet de tester
deux
| > >> conditions simultanées au lieu d'une.
| >
| > --
| > Cordialement,
| > Ze Titi
| >
| > Tout pour réussir avec Access :
| > http://www.mpfa.info
| >
| >
| >





Avatar
3stone
Salut ze_titi,

"ze Titi"
| Pas forcément Null, ça peut être une chaîne vide (donc "") et ça n'a
| rien à voir avec Null.

Pour les variables, sûrement, mais :

If IsNull(txtZoneDeTexte) Then
MsgBox "est null"
Else
MsgBox "est vide"
End If

renvoi toujours Null si le textbox est "vide", même si on à saisi qque chose
et que l'on a ensuite effacé (donc logiquement créé une chaîne vide)

Et il fait même plus, le textbox - il supprime d'autorité les espaces de doite
à toute saisie.
Ainsi, "toto" et "toto " sont identiques à la réception dans la table.
Cela fait que, lorsqu'on saisi 5 espaces dans un textbox, le résultat est
un beau... Null ;-)

Ces comportements font qu'un "simple" formulaire est autre chose qu'une bête
fenêtre ou masque de saisie.

my2cents ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Fabien
Mes contrôles sont tous en texte.

J'ai testé ces deux lignes de code :
If IsNull(Me.txt_es) Then MsgBox huhu
If Me.txt_es = "" Then MsgBox ahah

Le premier passe lorsque je n'ai rien tapé dans la zone texte correspondante.



quel est le type de tes contrôles ? tous en texte ?
si tu testes contrôle par contrôle ça donne quoi ?

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"nunurs" a écrit dans le message de news:

| Oui j'ai testé avec un point d'arrêt et tout est null ou vide ("").
| A l'origine je testais des chaînes vides mais avec le point d'arrêt je me
| suis rendu compte que c'était le null qu'il fallait tester.
|
|
| > Pas forcément Null, ça peut être une chaîne vide (donc "") et ça n'a
| > rien à voir avec Null.
| >
| > En ce jour mémorable du lundi 21/05/2007, tu as entrepris la lourde
| > tâche de taper sur ton clavier :
| > > Dans mon formulaire je n'ai rien dans mes champs texte donc il sont à
null.
| > >
| > >> Bonjour.
| > >> et txt_es a quelle valeur ? pour compléter le tout.
| > >> quand on mélange les conditions Or Not et Not il est préférable de
placer
| > >> des paranthèses pour définir les priorités.
| > >> If (Not IsNull(Me.txt_es)) Or (Not IsNull(Me.txt_mois)) Or (Not
| > >> IsNull(Me.txt_annee)) Or (Me.lbl_codir.Caption <> " ") Then
| > >> il est préférable également d'utiliser Nz ce qui permet de tester
deux
| > >> conditions simultanées au lieu d'une.
| >
| > --
| > Cordialement,
| > Ze Titi
| >
| > Tout pour réussir avec Access :
| > http://www.mpfa.info
| >
| >
| >



Bonjour nunurs


et avec if nz(me.txt_es,"")<>"" then msgbox "par ici" else msgbox "par là "
Celà te permet de tester a la fois la valeur null et la valeur vide ""
(cf Ze TiTi)


1 2