begin process at 2008 08 28 11:27:55
1 233 019 membres
134 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Insertion de champs vide dans une base access [ Archives ASP & ASP.NET / Base de données ] (cloe)

Insertion de champs vide dans une base access le 17/08/2001 10:27:07

cloe
Bonjour

J'utilise un formulaire afin de saisir des données et des les enregistrer dans ma base de données. Pour les champs de type texte et qui sont vide je n'ai pas de pbs.
Mais pour les champs de type numérique, s'ils sont vides, j'ai une erreur au niveau du insert into :

"Type de données incompatible dans l'expression du critère."

Si je teste si le champs est vide et que je le met à 0, l'insertion se fait. Mais je ne pense pas que mettre des champs à zéros alors qu'ils doivent etre vide est une bonne solution.

J'ai essayé aussi, si le champs est vide, je récris le insert into mais sans le champs. Mais c'est pas une solution aussi puisque s'il y a plein de champs numériques, va y avoir bcp trop de requètes à écrire. Et si l'utilisateur veut modifier sa valeur et mettre rien à la place, la modif ne vas pas être prise en compte.

Peut être cela vient d'une option à cocher dans acces??
Bref si vous avez une idée, je vous remercie d'avance de me tenir au courant.

Cloe

Re : Insertion de champs vide dans une base access le 17/08/2001 10:55:27

fred
en fait ça vient de la base access. tu dois autoriser la valeur 'null' pour ce champ numérique.

dans access tu coche oui pour la propriété null autorisé

Re : Insertion de champs vide dans une base access le 17/08/2001 11:03:07

cloe
Il y a en effait une option
"Null interdit" et elle est à "non".

D'aiileurs si je met directement dans la base mes valeurs et que je laisse les numériques vides, je n'ai pas d'erreur.

C'est en les insérant avec mon formulaire sous asp, que j'ai des pbs.



-------------------------------
Réponse au message :
-------------------------------

en fait ça vient de la base access. tu dois autoriser la valeur 'null' pour ce champ numérique.

dans access tu coche oui pour la propriété null autorisé

Re : Insertion de champs vide dans une base access le 17/08/2001 11:04:52

fred

justement mais la à oui


-------------------------------
Réponse au message :
-------------------------------

Il y a en effait une option
"Null interdit" et elle est à "non".

D'aiileurs si je met directement dans la base mes valeurs et que je laisse les numériques vides, je n'ai pas d'erreur.

C'est en les insérant avec mon formulaire sous asp, que j'ai des pbs.



-------------------------------
Réponse au message :
-------------------------------

en fait ça vient de la base access. tu dois autoriser la valeur 'null' pour ce champ numérique.

dans access tu coche oui pour la propriété null autorisé


Re : Insertion de champs vide dans une base access le 17/08/2001 11:13:05

songes
tu peux faire des tests qui permettent de marquer <NULL> dans la table quand le champs à insérer est vide

ex

strSQL="INSERT INTO NomTable(Champobligatoire"
If Champ1<>"" Then strSQL = strSQL & ", champ1"
If Champ2<>"" Then strSQL = strSQL & ", Champ2"
......
strSQL = strSQL &")"

NomConnection.Execute(strSQL)

-------------------------------
Réponse au message :
-------------------------------

Bonjour

J'utilise un formulaire afin de saisir des données et des les enregistrer dans ma base de données. Pour les champs de type texte et qui sont vide je n'ai pas de pbs.
Mais pour les champs de type numérique, s'ils sont vides, j'ai une erreur au niveau du insert into :

"Type de données incompatible dans l'expression du critère."

Si je teste si le champs est vide et que je le met à 0, l'insertion se fait. Mais je ne pense pas que mettre des champs à zéros alors qu'ils doivent etre vide est une bonne solution.

J'ai essayé aussi, si le champs est vide, je récris le insert into mais sans le champs. Mais c'est pas une solution aussi puisque s'il y a plein de champs numériques, va y avoir bcp trop de requètes à écrire. Et si l'utilisateur veut modifier sa valeur et mettre rien à la place, la modif ne vas pas être prise en compte.

Peut être cela vient d'une option à cocher dans acces??
Bref si vous avez une idée, je vous remercie d'avance de me tenir au courant.

Cloe


Re : Insertion de champs vide dans une base access le 17/08/2001 11:27:01

cloe
si je met à oui ça veut dire que j'interdit les champs null donc les champs vide, et donc que j'interdit les champs vide!!!
J'ai essayé qd même, et meme dans en mettant directement les valeurs dans acces, maintenant il veut que je saisisse une valeur obligatoirement, donc ça ne vient pas de là.
Merci quand même



-------------------------------
Réponse au message :
-------------------------------


justement mais la à oui


-------------------------------
Réponse au message :
-------------------------------

Il y a en effait une option
"Null interdit" et elle est à "non".

D'aiileurs si je met directement dans la base mes valeurs et que je laisse les numériques vides, je n'ai pas d'erreur.

C'est en les insérant avec mon formulaire sous asp, que j'ai des pbs.



-------------------------------
Réponse au message :
-------------------------------

en fait ça vient de la base access. tu dois autoriser la valeur 'null' pour ce champ numérique.

dans access tu coche oui pour la propriété null autorisé



Re : Insertion de champs vide dans une base access le 17/08/2001 11:56:30

cloe

Merci, ta solution fonctionne pour l'insertion.

Le truc qui me gène maintenant c'est pour la modification, car vu que je ne peut pas insérer de champs vides, si l'utilisateur veut modifier une valeur en un champs vide, je suis obligée de tester le champs vide et de de le mettre à zéro pour ne pas garder l'ancienne valeur.


-------------------------------
Réponse au message :
-------------------------------

tu peux faire des tests qui permettent de marquer <NULL> dans la table quand le champs à insérer est vide

ex

strSQL="INSERT INTO NomTable(Champobligatoire"
If Champ1<>"" Then strSQL = strSQL & ", champ1"
If Champ2<>"" Then strSQL = strSQL & ", Champ2"
......
strSQL = strSQL &")"

NomConnection.Execute(strSQL)

-------------------------------
Réponse au message :
-------------------------------

Bonjour

J'utilise un formulaire afin de saisir des données et des les enregistrer dans ma base de données. Pour les champs de type texte et qui sont vide je n'ai pas de pbs.
Mais pour les champs de type numérique, s'ils sont vides, j'ai une erreur au niveau du insert into :

"Type de données incompatible dans l'expression du critère."

Si je teste si le champs est vide et que je le met à 0, l'insertion se fait. Mais je ne pense pas que mettre des champs à zéros alors qu'ils doivent etre vide est une bonne solution.

J'ai essayé aussi, si le champs est vide, je récris le insert into mais sans le champs. Mais c'est pas une solution aussi puisque s'il y a plein de champs numériques, va y avoir bcp trop de requètes à écrire. Et si l'utilisateur veut modifier sa valeur et mettre rien à la place, la modif ne vas pas être prise en compte.

Peut être cela vient d'une option à cocher dans acces??
Bref si vous avez une idée, je vous remercie d'avance de me tenir au courant.

Cloe



Re : Insertion de champs vide dans une base access le 17/08/2001 12:50:08

songes
pour update c'est le même principe avec un peu + de controle

soit tu fais tes test dans la requete :

strSQL="UPDATE NomTable SET Champobligatoire ="&Champobligatoire&""

If Champ1<>"" Then strSQL = strSQL & ", champ1="&champ1&"" END IF
If Champ1="" then strSQL = strSQL & ", champ1=null END IF"
If Champ2<>"" Then strSQL = strSQL & ", champ2="&champ2&"" END IF
If Champ2="" then strSQL = strSQL & ", champ2=null END IF"
......
strSQL = strSQL &")"

soit avant :
if Champ1 ="" then cham1=null
if Champ2 ="" then champ2 =null

etc.....


NomConnection.Execute(strSQL)




-------------------------------
Réponse au message :
-------------------------------


Merci, ta solution fonctionne pour l'insertion.

Le truc qui me gène maintenant c'est pour la modification, car vu que je ne peut pas insérer de champs vides, si l'utilisateur veut modifier une valeur en un champs vide, je suis obligée de tester le champs vide et de de le mettre à zéro pour ne pas garder l'ancienne valeur.


-------------------------------
Réponse au message :
-------------------------------

tu peux faire des tests qui permettent de marquer <NULL> dans la table quand le champs à insérer est vide

ex

strSQL="INSERT INTO NomTable(Champobligatoire"
If Champ1<>"" Then strSQL = strSQL & ", champ1"
If Champ2<>"" Then strSQL = strSQL & ", Champ2"
......
strSQL = strSQL &")"

NomConnection.Execute(strSQL)

-------------------------------
Réponse au message :
-------------------------------

Bonjour

J'utilise un formulaire afin de saisir des données et des les enregistrer dans ma base de données. Pour les champs de type texte et qui sont vide je n'ai pas de pbs.
Mais pour les champs de type numérique, s'ils sont vides, j'ai une erreur au niveau du insert into :

"Type de données incompatible dans l'expression du critère."

Si je teste si le champs est vide et que je le met à 0, l'insertion se fait. Mais je ne pense pas que mettre des champs à zéros alors qu'ils doivent etre vide est une bonne solution.

J'ai essayé aussi, si le champs est vide, je récris le insert into mais sans le champs. Mais c'est pas une solution aussi puisque s'il y a plein de champs numériques, va y avoir bcp trop de requètes à écrire. Et si l'utilisateur veut modifier sa valeur et mettre rien à la place, la modif ne vas pas être prise en compte.

Peut être cela vient d'une option à cocher dans acces??
Bref si vous avez une idée, je vous remercie d'avance de me tenir au courant.

Cloe




Re : Insertion de champs vide dans une base access le 17/08/2001 14:31:01

Cloe
Merci, merci!!!!
J'ai fait avec la première solution et ça marche. (La deuxième veut pas marcher, je sais pas pkoi, mais c'est pas grave...)
Cloe



-------------------------------
Réponse au message :
-------------------------------

pour update c'est le même principe avec un peu + de controle

soit tu fais tes test dans la requete :

strSQL="UPDATE NomTable SET Champobligatoire ="&Champobligatoire&""

If Champ1<>"" Then strSQL = strSQL & ", champ1="&champ1&"" END IF
If Champ1="" then strSQL = strSQL & ", champ1=null END IF"
If Champ2<>"" Then strSQL = strSQL & ", champ2="&champ2&"" END IF
If Champ2="" then strSQL = strSQL & ", champ2=null END IF"
......
strSQL = strSQL &")"

soit avant :
if Champ1 ="" then cham1=null
if Champ2 ="" then champ2 =null

etc.....


NomConnection.Execute(strSQL)




-------------------------------
Réponse au message :
-------------------------------


Merci, ta solution fonctionne pour l'insertion.

Le truc qui me gène maintenant c'est pour la modification, car vu que je ne peut pas insérer de champs vides, si l'utilisateur veut modifier une valeur en un champs vide, je suis obligée de tester le champs vide et de de le mettre à zéro pour ne pas garder l'ancienne valeur.


-------------------------------
Réponse au message :
-------------------------------

tu peux faire des tests qui permettent de marquer <NULL> dans la table quand le champs à insérer est vide

ex

strSQL="INSERT INTO NomTable(Champobligatoire"
If Champ1<>"" Then strSQL = strSQL & ", champ1"
If Champ2<>"" Then strSQL = strSQL & ", Champ2"
......
strSQL = strSQL &")"

NomConnection.Execute(strSQL)

-------------------------------
Réponse au message :
-------------------------------

Bonjour

J'utilise un formulaire afin de saisir des données et des les enregistrer dans ma base de données. Pour les champs de type texte et qui sont vide je n'ai pas de pbs.
Mais pour les champs de type numérique, s'ils sont vides, j'ai une erreur au niveau du insert into :

"Type de données incompatible dans l'expression du critère."

Si je teste si le champs est vide et que je le met à 0, l'insertion se fait. Mais je ne pense pas que mettre des champs à zéros alors qu'ils doivent etre vide est une bonne solution.

J'ai essayé aussi, si le champs est vide, je récris le insert into mais sans le champs. Mais c'est pas une solution aussi puisque s'il y a plein de champs numériques, va y avoir bcp trop de requètes à écrire. Et si l'utilisateur veut modifier sa valeur et mettre rien à la place, la modif ne vas pas être prise en compte.

Peut être cela vient d'une option à cocher dans acces??
Bref si vous avez une idée, je vous remercie d'avance de me tenir au courant.

Cloe





Re : Insertion de champs vide dans une base access le 17/08/2001 15:44:33

songes




-------------------------------
Réponse au message :
-------------------------------

Merci, merci!!!!
J'ai fait avec la première solution et ça marche. (La deuxième veut pas marcher, je sais pas pkoi, mais c'est pas grave...)
Cloe



-------------------------------
Réponse au message :
-------------------------------

pour update c'est le même principe avec un peu + de controle

soit tu fais tes test dans la requete :

strSQL="UPDATE NomTable SET Champobligatoire ="&Champobligatoire&""

If Champ1<>"" Then strSQL = strSQL & ", champ1="&champ1&"" END IF
If Champ1="" then strSQL = strSQL & ", champ1=null END IF"
If Champ2<>"" Then strSQL = strSQL & ", champ2="&champ2&"" END IF
If Champ2="" then strSQL = strSQL & ", champ2=null END IF"
......
strSQL = strSQL &")"

soit avant :
if Champ1 ="" then cham1=null
if Champ2 ="" then champ2 =null

etc.....


NomConnection.Execute(strSQL)




-------------------------------
Réponse au message :
-------------------------------


Merci, ta solution fonctionne pour l'insertion.

Le truc qui me gène maintenant c'est pour la modification, car vu que je ne peut pas insérer de champs vides, si l'utilisateur veut modifier une valeur en un champs vide, je suis obligée de tester le champs vide et de de le mettre à zéro pour ne pas garder l'ancienne valeur.


-------------------------------
Réponse au message :
-------------------------------

tu peux faire des tests qui permettent de marquer <NULL> dans la table quand le champs à insérer est vide

ex

strSQL="INSERT INTO NomTable(Champobligatoire"
If Champ1<>"" Then strSQL = strSQL & ", champ1"
If Champ2<>"" Then strSQL = strSQL & ", Champ2"
......
strSQL = strSQL &")"

NomConnection.Execute(strSQL)

-------------------------------
Réponse au message :
-------------------------------

Bonjour

J'utilise un formulaire afin de saisir des données et des les enregistrer dans ma base de données. Pour les champs de type texte et qui sont vide je n'ai pas de pbs.
Mais pour les champs de type numérique, s'ils sont vides, j'ai une erreur au niveau du insert into :

"Type de données incompatible dans l'expression du critère."

Si je teste si le champs est vide et que je le met à 0, l'insertion se fait. Mais je ne pense pas que mettre des champs à zéros alors qu'ils doivent etre vide est une bonne solution.

J'ai essayé aussi, si le champs est vide, je récris le insert into mais sans le champs. Mais c'est pas une solution aussi puisque s'il y a plein de champs numériques, va y avoir bcp trop de requètes à écrire. Et si l'utilisateur veut modifier sa valeur et mettre rien à la place, la modif ne vas pas être prise en compte.

Peut être cela vient d'une option à cocher dans acces??
Bref si vous avez une idée, je vous remercie d'avance de me tenir au courant.

Cloe







[Page 1 Page 2]
Classé sous : base, données, champs, insertion, vide

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS