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

Verifier la présence d'erreure dans un champ

6 réponses
Avatar
azza
Salut,
Mon problème c'est de comment vérifier dans des champs existence d'une
erreur:
j'ai remarquer dans certain champs calculés le contenue genre: #Div/0 ou
bien #Nombre ..
à la place de ça j'aimerai les remplacés par des blanc (Champ vide).
J'ai penser a parcourir les Ctrl zone te texte et de tester leurs valeur si
ça commence avec "#" alors ce Ctrl méme recevra un "". Comment parcourir
c'est la que je bloc.
j'essai ceci mais rien:
Il m'affiche erreur 2185

Private Sub Form_Current()
Dim Ctrl As Control

'Verifie le Ctrl calculé si contient des "#Erreur"
For Each Ctrl In Me.Controls
If Left(Ctrl.Text, 1) = "#" Then Ctrl.Text = ""
Next
End Sub


Merci d'avance.

6 réponses

Avatar
Raymond [mvp]
Bonsoir.

ne teste pas ça , ce n'est pas dans la value du contrôle. ton contrôle, s'il
est indiqué #Nom ? par exemple contiendra la valeur Null.
il faut tester par:
If IsNull(Ctrl.Value) Then ......
et ne pas oublier de mettre on error resume next en début de procédure car
certains contrôles ne supportent pas la propriété value.
ce qui veut dire aussi que tous les champs à valeur Null vont sortir .

c'est un faux problème également car ces erreurs proviennent toujours d'une
erreur de programmation et devraient se résoudre lors du développement.
Comme par exemple le Div/0 doit toujours être prévu au développement avec
une fonction Nz ou IsNull.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"azza" a écrit dans le message de news:
%
Salut,
Mon problème c'est de comment vérifier dans des champs existence d'une
erreur:
j'ai remarquer dans certain champs calculés le contenue genre: #Div/0 ou
bien #Nombre ..
à la place de ça j'aimerai les remplacés par des blanc (Champ vide).
J'ai penser a parcourir les Ctrl zone te texte et de tester leurs valeur
si
ça commence avec "#" alors ce Ctrl méme recevra un "". Comment parcourir
c'est la que je bloc.
j'essai ceci mais rien:
Il m'affiche erreur 2185

Private Sub Form_Current()
Dim Ctrl As Control

'Verifie le Ctrl calculé si contient des "#Erreur"
For Each Ctrl In Me.Controls
If Left(Ctrl.Text, 1) = "#" Then Ctrl.Text = ""
Next
End Sub


Merci d'avance.




Avatar
azza
Bonjour,
Ca marche avec:
On Error Resume Next 'Car certains Ctrls ne supportent pas
'la proprieté Value. (c) Raymond Zolie commentaire ;)
For Each Ctrl In Me.Controls
If IsNull(Ctrl.Value) Then Ctrl.Value = Null
Next
Mais si j'essai avec la proprite Text au lieu de Value ça provoque l'erreur
suivante:
(Impossible de definir un Ctrl si ce dernier n'est pas activé
"NumErreur:2185")

Et merci pour toi Raymond

"Raymond [mvp]" a écrit dans le message de
news:
Bonsoir.

ne teste pas ça , ce n'est pas dans la value du contrôle. ton contrôle,
s'il

est indiqué #Nom ? par exemple contiendra la valeur Null.
il faut tester par:
If IsNull(Ctrl.Value) Then ......
et ne pas oublier de mettre on error resume next en début de procédure car
certains contrôles ne supportent pas la propriété value.
ce qui veut dire aussi que tous les champs à valeur Null vont sortir .

c'est un faux problème également car ces erreurs proviennent toujours
d'une

erreur de programmation et devraient se résoudre lors du développement.
Comme par exemple le Div/0 doit toujours être prévu au développement avec
une fonction Nz ou IsNull.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"azza" a écrit dans le message de news:
%
Salut,
Mon problème c'est de comment vérifier dans des champs existence d'une
erreur:
j'ai remarquer dans certain champs calculés le contenue genre: #Div/0 ou
bien #Nombre ..
à la place de ça j'aimerai les remplacés par des blanc (Champ vide).
J'ai penser a parcourir les Ctrl zone te texte et de tester leurs
valeur


si
ça commence avec "#" alors ce Ctrl méme recevra un "". Comment parcourir
c'est la que je bloc.
j'essai ceci mais rien:
Il m'affiche erreur 2185

Private Sub Form_Current()
Dim Ctrl As Control

'Verifie le Ctrl calculé si contient des "#Erreur"
For Each Ctrl In Me.Controls
If Left(Ctrl.Text, 1) = "#" Then Ctrl.Text = ""
Next
End Sub


Merci d'avance.








Avatar
Raymond [mvp]
If IsNull(Ctrl.Value) Then Ctrl.Value = Null


Tu veux faire quoi avec ça ?

texte ne peut être utilisé que si le contrôle est le contrôle actif.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

Bonjour,
Ca marche avec:
On Error Resume Next 'Car certains Ctrls ne supportent pas
'la proprieté Value. (c) Raymond Zolie commentaire ;)
For Each Ctrl In Me.Controls
If IsNull(Ctrl.Value) Then Ctrl.Value = Null
Next
Mais si j'essai avec la proprite Text au lieu de Value ça provoque
l'erreur
suivante:
(Impossible de definir un Ctrl si ce dernier n'est pas activé
"NumErreur:2185")


Avatar
azza
Tu veux faire quoi avec ça ?
C'est expliquer pourtant, c'est pour remplacer les erreurs afficher dans le

Ctrl (zone de text) par des "rien" (c'est pour masquer #balbla, c'est pas
beau à voir) mais comme tu le precise le Ctrl doit être actif pour toucher
à ces proprietés.

@+ +

"Raymond [mvp]" a écrit dans le message de
news:
If IsNull(Ctrl.Value) Then Ctrl.Value = Null


Tu veux faire quoi avec ça ?

texte ne peut être utilisé que si le contrôle est le contrôle actif.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

Bonjour,
Ca marche avec:
On Error Resume Next 'Car certains Ctrls ne supportent pas
'la proprieté Value. (c) Raymond Zolie commentaire ;)
For Each Ctrl In Me.Controls
If IsNull(Ctrl.Value) Then Ctrl.Value = Null
Next
Mais si j'essai avec la proprite Text au lieu de Value ça provoque
l'erreur
suivante:
(Impossible de definir un Ctrl si ce dernier n'est pas activé
"NumErreur:2185")






Avatar
Raymond [mvp]
ce que je voulais dire, pourquoi vouloir charger un contrôle qui n'a aucune
valeur (isnull) par une valeur inexistante ( Null). Null n'est pas une
valeur valide qu'on peut charger. tu peux le charger par 0 ou une chaine
vide ("") c'est tout.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

Tu veux faire quoi avec ça ?
C'est expliquer pourtant, c'est pour remplacer les erreurs afficher dans

le
Ctrl (zone de text) par des "rien" (c'est pour masquer #balbla, c'est pas
beau à voir) mais comme tu le precise le Ctrl doit être actif pour
toucher
à ces proprietés.



Avatar
azza
Ok j'ai compris . C'est vrai que que je ne comprend pas
rapidement et ce mon probleme justement :(
Bonne appetie à tous :)

"Raymond [mvp]" a écrit dans le message de
news: #
ce que je voulais dire, pourquoi vouloir charger un contrôle qui n'a
aucune

valeur (isnull) par une valeur inexistante ( Null). Null n'est pas une
valeur valide qu'on peut charger. tu peux le charger par 0 ou une chaine
vide ("") c'est tout.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

Tu veux faire quoi avec ça ?
C'est expliquer pourtant, c'est pour remplacer les erreurs afficher dans

le
Ctrl (zone de text) par des "rien" (c'est pour masquer #balbla, c'est
pas


beau à voir) mais comme tu le precise le Ctrl doit être actif pour
toucher
à ces proprietés.