|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Yoann Inscription : février 2011 Messages : 126 ![]() |
Bonjour,
je n'arrive pas à faire fonctionner mon code... j'ai un formulaire avec champ1, champ2, bouton1 et une case à coché je voudrais faire : Quand le champ1 est null et champ2 est null mettre zéro à la case à coché Quand le champ1 est null et champ2 est non null afficher un msgbox "erreur" Quand le champ1 non null et champ2 null afficher un msgbox "erreur" Quand le champ1 non null et champ2 non null mettre -1 à la case à coché voici mon code : Code :
De plus une fois si je remplis mes champ1 et champ2, et que j'efface ce que j'ai écrit, la tout fonctionne parfaitement. Il prend bien la condition Null et Null mettre case à coché = 0 Je ne comprends pas mon problème Merci pour vos réponse, Bonne après midi |
||
|
|
00
|
|
|
#2 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Code :
If isnull(champ1) Xor isNull(champ2) Then A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Yoann Inscription : février 2011 Messages : 126 ![]() |
Merci de votre réponse je vais essayer, j'ai rajouter deux phrases sur la fin, pq j'avais oublié de le préciser...
|
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Yoann Inscription : février 2011 Messages : 126 ![]() |
ça n'a rien changé avec la modification
|
|
|
00
|
|
|
#5 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
OK je pense que c'est qu'à l'ouverture les champs ne sont pas Null il sont Empty.
esssaye avec Code :
If (isnull(champ1) or champ1 is empty) Xor (isNull(champ2) or champ2 is empty) Then
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Yoann Inscription : février 2011 Messages : 126 ![]() |
"erreur 424 Objet requis"
Empty qu'est ce que c'est exactement ? c'est une variable ? |
|
|
00
|
|
|
#7 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Code :
If (isnull(champ1) or isempty(champ1)) Xor (isNull(champ2) or isempty(champ2)) Empty est une constante figurative comme Null. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#8 | ||||
|
Nouveau Membre du Club
![]() Yoann Inscription : février 2011 Messages : 126 ![]() |
bonjour,
j'ai tout essayé : Code :
Code :
|
||||
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juin 2011 Messages : 75 ![]() |
et en essayant ? ça m'est déjà arrivé de me faire piéger comme ça
|
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Yoann Inscription : février 2011 Messages : 126 ![]() |
bonjour Candrau, oui c'est la 1ere chose que j'ai essayé de faire, mais ça ne marche pas non plus.
|
|
|
00
|
|
|
#11 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Très étrange.
Bon alors mets un point d'arret sur la ligne qui fait le test puis dans la fenêtre d'éxécution immédiate (Pour l'afficher : [Ctrl][G]) tape : ? IsNull(Champ1) [enter] ? IsNull(Champ2) [enter] ? IsEmpty(Champ1) [enter] ? IsEmpty(Champ2) [enter] Cela devrait répondre vrai (true) ou faux (false) selon la valeur contenu dans tes champs. Ça devait nous indiquer ce que voit Access. Après on pourra peut être remplacer le XOR par un test sur Champ1 et Non Champ2 ou Non Champ1 et Champ2 mais il faut d'abor savoir ce que Access a mis là. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Yoann Inscription : février 2011 Messages : 126 ![]() |
je ne sais pas si j'ai bien fait (pq je ne l'ai jamais fait avant), j'ai mis un point dans le code (dans la marge à gauche)qui me surligne ma ligne qui fait mon test. je clique sur mon bouton qui m'exécute le code, donc j'ai une erreur pq il ne peut pas lire la ligne qui est en jaune maintenant et je tape ctrl + G :
? IsNull(Champ1) Faux ? IsNull(Champ2) Faux ? IsEmpty(Champ1) Vrai ? IsEmpty(Champ2) Vrai voila, mes champs ont bien un problème d'après cette expérience pq les deux Isnull champ1 et empty champ1 n'affichent pas la même valeur. Mais j'ai ré effectué le test en ayant mis des valeurs dans mes champs et j'ai les même réponses... |
|
|
00
|
|
|
#13 | |||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Citation:
Essaye : Code :
Note en passant : préfère les constantes figuratives aux valeurs numériques. Cela rend le code plus lisible. La convention pour vai et faux diffère d'un système à l'autre (par exemple en MS-SQL Server Vrai=1, Faux=0) tandis que True et False évite la confusion. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|||
|
|
00
|
|
|
#14 | ||
|
Nouveau Membre du Club
![]() Yoann Inscription : février 2011 Messages : 126 ![]() |
Code :
le "Or" de la ligne 4 "erreur de compiliation : Incompatibilité de type". Je ne vois pas en quoi la modification que vous m'avez donné aurais résolut le problème des champs nulles ? |
||
|
|
00
|
|
|
#15 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Bon j'ai arrété de travaillé de tête et j'ai testé dans Access. Ça devrait être bon.
Comme je n'avais pas de case à cocher j'ai mis un booléen pour le test. Code :
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||
|
|
00
|
|
|
#16 | ||
|
Nouveau Membre du Club
![]() Yoann Inscription : février 2011 Messages : 126 ![]() |
chez moi ça ne marche pas, je vais partager mon code :
Code :
mais si je saisie des valeurs dans les champs et que je les efface, la ça marche... |
||
|
|
00
|
|
|
#17 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Bigre bigre c't'un tuff c'lui là :-).
As-tu esssayé mon code chez toi, directement sans l'adapter à ton problème ? A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#18 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Au fait sur la ligne 9 de ton code, il faut enlever le IS NULL à la fin.
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#19 | ||
|
Membre éclairé
![]() Michel Développeur informatique Inscription : février 2008 Messages : 261 ![]() |
Code :
Michel |
||
|
|
00
|
|
|
#20 |
|
Nouveau Membre du Club
![]() Yoann Inscription : février 2011 Messages : 126 ![]() |
je vais essayer sauf que je ne comprends pas tout,
le call testchamp est 3ème champs (fictif ?) et entre parenthèse je mais mes champ1 is null , champ2 is null. c'est ça ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com