OVH Cloud OVH Cloud

Insertion date vide dans Access

5 réponses
Avatar
Puppet Master
Bonjour,
j'ai un pb avec une connexion ADO et une base ACCESS2000.
Je balance ma requête SQL pour créer mon enregistrement avec mes divers
champs, jusque la pas de souci. Mais le hic est lorsque je ne renseigne pas
le champs date_naissance, la vb me fait la tête et me sort un message
d'erreur en me disant que le type est incompatible.
Avez vous une idée ?

PS : Sachant bien sûr, que dans les propriétés de ma base, ce champs peut
être NULL

Merci d'avance...
Za++

5 réponses

Avatar
Quasimodo
on 11/9/2004, Puppet Master supposed :
Bonjour,
j'ai un pb avec une connexion ADO et une base ACCESS2000.
Je balance ma requête SQL pour créer mon enregistrement avec mes divers
champs, jusque la pas de souci. Mais le hic est lorsque je ne renseigne pas
le champs date_naissance, la vb me fait la tête et me sort un message
d'erreur en me disant que le type est incompatible.
Avez vous une idée ?

PS : Sachant bien sûr, que dans les propriétés de ma base, ce champs peut
être NULL

Merci d'avance...
Za++



bonjour,
utilisez-vous une requète de type insert into et si oui, renseigné vous
tous les champs ou donnez-vous juste les valeurs?
Je pense que si vous faites une requète du type : insert into nomtable
(fields,fields, ...) values (value,values,..) sans nommer le champs
date, cela devrais bien ce passer. Sinon utilisez une procédure stockée
auquel vous passez les valeurs.

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
Puppet Master
Bonjour,
J'utilise effectivement un requête de type : insert into matable (fields,
fields, date_inscription) values (value1, value2, Text1.text)
Le comble est que ma requête fonctionne très bien si ce champs date est
saisi, et pas du tout dans le cas contraire...
et il n'y a pas un moyen de saisir un date "vierge" du genre #00/00/0000#
pour que ACCESS la considère comme nulle ?
Merci d'avance...


bonjour,
utilisez-vous une requète de type insert into et si oui, renseigné vous
tous les champs ou donnez-vous juste les valeurs?
Je pense que si vous faites une requète du type : insert into nomtable
(fields,fields, ...) values (value,values,..) sans nommer le champs date,
cela devrais bien ce passer. Sinon utilisez une procédure stockée auquel
vous passez les valeurs.

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com



Avatar
Eric
Bonjour,

Tu devrais faire un test sur le contenu de Text1 avec len() ou isnull()
suivant ton environnement. (Isnull pour un formulaire Access, Len pour un
form VB)
Si Text1 a une longueur de 0 ou si Text1 est null, tu modifies le sql de
la manière suivante :

strSQL="Insert Into nomtable(field1, fied2, date_inscription) Values
(value1,value2,NULL);"

Sinon,
strSQL="Insert Into nomtable(field1, fied2, date_inscription) Values
(value1,value2," & Cdate(Text1) & ");" , entourer éventuellement de # la
date

Ca devrait fonctionner.

A+
Eric


"Puppet Master" écrivait
news:4192b8a4$0$2473$:

Bonjour,
J'utilise effectivement un requête de type : insert into matable
(fields, fields, date_inscription) values (value1, value2, Text1.text)
Le comble est que ma requête fonctionne très bien si ce champs date
est saisi, et pas du tout dans le cas contraire...
et il n'y a pas un moyen de saisir un date "vierge" du genre
#00/00/0000# pour que ACCESS la considère comme nulle ?
Merci d'avance...


bonjour,
utilisez-vous une requète de type insert into et si oui, renseigné
vous tous les champs ou donnez-vous juste les valeurs?
Je pense que si vous faites une requète du type : insert into
nomtable (fields,fields, ...) values (value,values,..) sans nommer le
champs date, cela devrais bien ce passer. Sinon utilisez une
procédure stockée auquel vous passez les valeurs.

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com








Avatar
Puppet Master
Merci pour vos réponses...
j'ai opté pour la solution qui consiste à tester si le champs date est vide
ou pas, et en fonction je modifie mon code SQL.
Mais par curiosité, j'aurais aimé comprendre le pourquoi de ce message
d'erreur !
Za++
PM
Avatar
Quasimodo
Puppet Master submitted this idea :
Merci pour vos réponses...
j'ai opté pour la solution qui consiste à tester si le champs date est vide
ou pas, et en fonction je modifie mon code SQL.
Mais par curiosité, j'aurais aimé comprendre le pourquoi de ce message
d'erreur !
Za++
PM



bonjour,
vous ne pouvez pas considere que #00/00/0000# est égale à null. Vous
pouvez encodez une date de type null mais une valeur de type
#00/00/0000#. C'est faux et strictement faux.

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com