BASE DE DONNEES FORMAT MDB

Signaler
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010
-
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
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)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
D'ailleurs, c'est "Null interdit" le vrai terme, perdon
Messages postés
14757
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
14 janvier 2021
151
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
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010

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