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

opération non valide

13 réponses
Avatar
C15
Bonjour à tous,

Dans une procédure j'ai le message d'erreur opération non valide
concernant :

CurrentDb.TableDefs("T import")("Date de naissance").Type = dbDate

(jeveux attribuer le type de données Date au champ Date de naissance).


Merci de me préciser où est l'erreur

A+

15

3 réponses

1 2
Avatar
Eric
Bonsoir,

Il faudrait mettre une condition Where sur le Update dans le cas où pour
certains enregistrements le champ est non renseigné (NULL).

Req = "UPDATE " & NomTable & " SET [" & NomChamp & 1 & "]= CDate([" &
NomChamp & "]) Where not isnull([" & NomChamp & "]);"

Si ça ne marche toujours pas, peux tu mettre une bd au format access2000
avec la table et quelques enregistrements-type (zippée si nécessaire)
sur www.cjoint.com ?

Bonsoir,

On est bien d'accord, mais hélas, en refaisant des tests, à nouveau
Req = "UPDATE " & NomTable & " SET [" & NomChamp & 1 & "]= CDate([" &
NomChamp & "])"
Db.Execute Req, dbFailOnError

ne fonctionne plus et le type de données n'est pas modifié.

A+

C15




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
C15
Bonsoir Eric,

J'ai trouvé !
En m'inspirant du code SQL d'une requête mise à jour j'ai corrigé de la
façon suivante :

Req = "UPDATE " & "[" & NomTable & "]" & " SET [" & NomChamp & 1 & "]=
[" & NomChamp & "]"

Le nom de la table doit être entre crochets (ce qui est sans doute
normal car elle s'appelle T import (avec un espace)
J'ai à la fois le type et le format qui ont été modifiés.

En tout cas, merci de ton aide et de toutes les réponses que tu m'as
apportées.

A+

C15

Bonsoir,

Il faudrait mettre une condition Where sur le Update dans le cas où pour
certains enregistrements le champ est non renseigné (NULL).

Req = "UPDATE " & NomTable & " SET [" & NomChamp & 1 & "]= CDate([" &
NomChamp & "]) Where not isnull([" & NomChamp & "]);"

Si ça ne marche toujours pas, peux tu mettre une bd au format access2000
avec la table et quelques enregistrements-type (zippée si nécessaire)
sur www.cjoint.com ?

Bonsoir,

On est bien d'accord, mais hélas, en refaisant des tests, à nouveau
Req = "UPDATE " & NomTable & " SET [" & NomChamp & 1 & "]= CDate([" &
NomChamp & "])"
Db.Execute Req, dbFailOnError

ne fonctionne plus et le type de données n'est pas modifié.

A+

C15







Avatar
Eric
Bonjour,

Parfait alors.
Je n'avais pas relu ton 1er post pour les crochets autour du nom de la
table ; j'en étais resté à T_import comme indiqué dès mon 2ème post.

Bonsoir Eric,

J'ai trouvé !
En m'inspirant du code SQL d'une requête mise à jour j'ai corrigé de la
façon suivante :

Req = "UPDATE " & "[" & NomTable & "]" & " SET [" & NomChamp & 1 & "]=
[" & NomChamp & "]"

Le nom de la table doit être entre crochets (ce qui est sans doute
normal car elle s'appelle T import (avec un espace)
J'ai à la fois le type et le format qui ont été modifiés.

En tout cas, merci de ton aide et de toutes les réponses que tu m'as
apportées.

A+

C15


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

1 2