OVH Cloud OVH Cloud

Probleme avec INSERT en numéro autoincrémenté

2 réponses
Avatar
OrniSoft
Bonjour,

J'ai une table dont le premier champs est auto incrémenté (enfin, devrait
être), hors lorsque j'envoie une requête SQL
Je rencontre actuelement un problème avec l'instruction suivante :

INSERT INTO Courses VALUES (NULL,1,'2003-12-5
0:0',2,NULL,NULL,1,false,NULL,NULL,24);
Microsoft JET Database Engine erreur '80004005'

Vous avez essayé d'affecter la valeur Null à une variable qui n'est pas du
type de données Variant.

Le premier champs étant autoincrémenté, pourquoi lorsque je remplace NULL
par un chiffre il m'insert bien la ligne ???

J'ai essayer d'omettre le premier champs, mais alors il me dit que le nombre
de paramètres ne correspond pas :o(

Merci si vous avez une réponse.

2 réponses

Avatar
Raymond [mvp]
Bonjour.

Tu places une valeur Null dans un champ numérique entier long, ce qui est
refusé par Access, seul un variant pouvant recevoir une valeur Null.. Par
ailleurs tu veux affecter une valeur au champ autoincrémenté, ce qu'il ne
faut pas faire sauf si tu connais une valeur numérique exacte ne faisant pas
doublon avec les valeurs actuelles. En général on ne traite pas ce champ car
il est automatiquement incrémenté par Access. dans tes paramètres il faut
que tu indiques les champs avec une valeur et surtout les champs avec valeur
obligatoire et null interdit, par défaut la valeur entrée sera nulle si le
champ n'est pas indiqué. si vba te dis qu'il manque un paramètre c'est qu'il
y a une faute d'orthographe dans le nom d'un champ, vba le prenant alors
pour un paramètre.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"OrniSoft" <c o n t a c a écrit dans le message de
news:
Bonjour,

J'ai une table dont le premier champs est auto incrémenté (enfin, devrait
être), hors lorsque j'envoie une requête SQL
Je rencontre actuelement un problème avec l'instruction suivante :

INSERT INTO Courses VALUES (NULL,1,'2003-12-5
0:0',2,NULL,NULL,1,false,NULL,NULL,24);
Microsoft JET Database Engine erreur '80004005'

Vous avez essayé d'affecter la valeur Null à une variable qui n'est pas du
type de données Variant.

Le premier champs étant autoincrémenté, pourquoi lorsque je remplace NULL
par un chiffre il m'insert bien la ligne ???

J'ai essayer d'omettre le premier champs, mais alors il me dit que le
nombre

de paramètres ne correspond pas :o(

Merci si vous avez une réponse.




Avatar
OrniSoft
Bonjour.

Tu places une valeur Null dans un champ numérique entier long, ce qui est
refusé par Access, seul un variant pouvant recevoir une valeur Null.. Par
ailleurs tu veux affecter une valeur au champ autoincrémenté, ce qu'il ne
faut pas faire sauf si tu connais une valeur numérique exacte ne faisant
pas

doublon avec les valeurs actuelles. En général on ne traite pas ce champ
car

il est automatiquement incrémenté par Access. dans tes paramètres il faut
que tu indiques les champs avec une valeur et surtout les champs avec
valeur

obligatoire et null interdit, par défaut la valeur entrée sera nulle si le
champ n'est pas indiqué. si vba te dis qu'il manque un paramètre c'est
qu'il

y a une faute d'orthographe dans le nom d'un champ, vba le prenant alors
pour un paramètre.

--
@+


Ok, tu as raison, mais ce n'est pas une faute d'orthographe, c'est un champs
que j'ai inocement nommé "Date" ! Tout marche bien sur les SELECTs mais dans
le INSERT il reconnait pas (ou mal) ce champs.

J'ai simplement renommer le champs Date en DateCourse et le problème est
résolu.

Merci pour m'avoir guidé.

@+