OVH Cloud OVH Cloud

#Erreur et requete SQL

4 réponses
Avatar
pierref
Bonjour,

j'ai une source de données qui contient parfois, dans une colonne date, la
valeur "#Erreur".
je souhaite faire une requete "filtre" et mettre CDate(null) à la place de
"#Erreur" à l'aide d'un IIF.
Mais je n'arrive à trouver une fonction qui detecte le "#Erreur".

Merci de m'aider

A bientot

4 réponses

Avatar
3stone
Salut,

"pierref"
| j'ai une source de données qui contient parfois, dans une colonne date, la
| valeur "#Erreur".
| je souhaite faire une requete "filtre" et mettre CDate(null) à la place de
| "#Erreur" à l'aide d'un IIF.
| Mais je n'arrive à trouver une fonction qui detecte le "#Erreur".


On peut, dans certaines conditions, détecter l'erreur par :

IsError( )

mais je te conseillerai tout de même de tout faire pour éviter l'erreur!
C'est beaucoup plus sain pour ton appli...

Quant à CDate(Null) ;-)

Null ne peut être transformé en date, au contraire de 0 (zéro)
Regarde donc éventuellement du coté de la fonction Nz( )


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
pierref
Maheureusement, je ne controle pas les sources.
Ce sont des fichiers excel ou csv ou autres et il arrive qu'il y ait des pbs
de format.
C'est pour ca que qd je lis la source, je fais un cdate.
Et ,en l'occurence, dans ma colonne, ca marche pour certains enregistrements
et pour d'autres j'ai le message #error.
Dans ce cas j'aimerais mettre la valeur null mais je n'arrive pas, en sql, a
detecter les lignes foireuses... le iserror() ne marche pas.
j'ai testé aussi isnull(), len(champ)=0 ...

bref, c'est pas simple

merci de m'aider et a+



Salut,

"pierref"
| j'ai une source de données qui contient parfois, dans une colonne date, la
| valeur "#Erreur".
| je souhaite faire une requete "filtre" et mettre CDate(null) à la place de
| "#Erreur" à l'aide d'un IIF.
| Mais je n'arrive à trouver une fonction qui detecte le "#Erreur".


On peut, dans certaines conditions, détecter l'erreur par :

IsError( )

mais je te conseillerai tout de même de tout faire pour éviter l'erreur!
C'est beaucoup plus sain pour ton appli...

Quant à CDate(Null) ;-)

Null ne peut être transformé en date, au contraire de 0 (zéro)
Regarde donc éventuellement du coté de la fonction Nz( )


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw





Avatar
Raymond [mvp]
Bonjour.
essaie :
If Not IsDate(monchamp) Then


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit dans le message de
news:
Maheureusement, je ne controle pas les sources.
Ce sont des fichiers excel ou csv ou autres et il arrive qu'il y ait des
pbs
de format.
C'est pour ca que qd je lis la source, je fais un cdate.
Et ,en l'occurence, dans ma colonne, ca marche pour certains
enregistrements
et pour d'autres j'ai le message #error.
Dans ce cas j'aimerais mettre la valeur null mais je n'arrive pas, en sql,
a
detecter les lignes foireuses... le iserror() ne marche pas.
j'ai testé aussi isnull(), len(champ)=0 ...

bref, c'est pas simple

merci de m'aider et a+



Avatar
pierref
Très bien vu.

Ca marche !

Merci bcp


Bonjour.
essaie :
If Not IsDate(monchamp) Then


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pierref" a écrit dans le message de
news:
Maheureusement, je ne controle pas les sources.
Ce sont des fichiers excel ou csv ou autres et il arrive qu'il y ait des
pbs
de format.
C'est pour ca que qd je lis la source, je fais un cdate.
Et ,en l'occurence, dans ma colonne, ca marche pour certains
enregistrements
et pour d'autres j'ai le message #error.
Dans ce cas j'aimerais mettre la valeur null mais je n'arrive pas, en sql,
a
detecter les lignes foireuses... le iserror() ne marche pas.
j'ai testé aussi isnull(), len(champ)=0 ...

bref, c'est pas simple

merci de m'aider et a+