BASE DE DONNEES FORMAT MDB

cs_PHILOUVB Messages postés 141 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 3 octobre 2010 - 26 mai 2008 à 19:00
cs_PHILOUVB Messages postés 141 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 3 octobre 2010 - 27 mai 2008 à 18:01
Bonjour à tous

Voici mon soucis.
comme je débute sous VB 2005, j'ai voulu créer une base de données au format mdb avant que passer aux bases SQL

J'ai donc créé ma base en m'assurant que celle ci pouvait accepter les valeurs nulles
Lorsque je remplie mes TextBox qui vont ensuite alimenter ma base, pas de soucis. Sauf que si j'ai un seul TextBox vide, je me retrouve avec un message d'erreur.
J'en conclue donc que si l'ensemble de mes zones ne sont pas complétées, je ne peux pas enregistrer.

Lorsque je regarde les propriétés de chaque élément de ma base, "Autoriser la valeur Null" est "True".
Je ne vois pas où peut-être le problème.

Avez vous une idée de ce qui se passe ?

Merci par avance

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
26 mai 2008 à 19:45
Salut
Il y a une différence entre "Null autorisé" et "Autoriser les chaines vides"
"Null autorisé" veut dire que tu pourras écrire la valeur Null (oui, c'est une valeur) dans le champ
"Chaine vide autorisée" veut dire que tu pourras écrire '' (deux ' qui se suivent)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
26 mai 2008 à 19:46
D'ailleurs, c'est "Null interdit" le vrai terme, perdon
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
27 mai 2008 à 09:33
Bonjour

Une erreur, peux-tu nous mettre le libellé STP.
Car c'est peut être parce que tu as un champ null que ça bug (.GetString(0), si champ null, erreur de cast, DBNull -> String impossible).

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
cs_PHILOUVB Messages postés 141 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 3 octobre 2010
27 mai 2008 à 18:01
Voici ce que j'ai marqué



MaCommande.CommandText =





"INSERT INTO Vemo(type,NOM,Prénom,Naissance,Adresse1,Adresse2,CodePostal,Ville,Telephone1,Telephone2,Telephone3,Portable1,Portable2,Portable3,Email1,Email2,Email3) VALUES ('"

& ChoixType &


"','"

& TextNom.Text &


"','"

& TextPrénom.Text &


"','"

& TextNaissance.Text &


"','"

& Textadress1.Text &


"','"

& TextAdress2.Text &


"','"

& TextCP.Text &


"','"

& TextVille.Text &


"','"

& ListAjouTél.Items.Item(0) &


"','"

& ListAjouTél.Items.Item(1) &


"','"

& ListAjouTél.Items.Item(2) &


"','"

& ListAjouPortable.Items.Item(0) &


"','"

& ListAjouPortable.Items.Item(1) &


"','"

& ListAjouPortable.Items.Item(2) &


"','"

& ListAjouEmail.Items.Item(0) &


"','"

& ListAjouEmail.Items.Item(1) &


"','"

& ListAjouEmail.Items.Item(2) &


"')"


MaCommande.ExecuteNonQuery()

Si je remplie tous les TextBox, pas de problème, par contre si l'un des controlbox est vide, j'ai le message suivant :

InvalidArgument=La valeur '0' n'est pas valide pour 'index'.
Nom du paramètre : index

Mon idée était que je pouvais mettre ma première ligne d'instruction et ensuite ne compléter que les zones que je voulais.

Mais à priori, il faudrait que j'adapte ma ligne en fonction des controlbox alimentés ou alors que je mette une valeur (par exemple "---") lorsque le textbox est vide.

Merci par avance
0
Rejoignez-nous