Probleme création d'un champ dans table

Signaler
Messages postés
17
Date d'inscription
lundi 22 décembre 2003
Statut
Membre
Dernière intervention
4 juin 2012
-
Messages postés
17
Date d'inscription
lundi 22 décembre 2003
Statut
Membre
Dernière intervention
4 juin 2012
-
Bonjour à tous,

J'ai un probleme lors de l'ajout d'un champs dans une table access. Cette table contient déjà des données. Or quand j'ajoute mon nouveau champs nommé "Tel" j'aimerai que pour les données exitantes la valeur de tel soit "" et non Null. Je ne sais pas comment faire car j'ai mis dans mon champs "Tel" valeur par défaut "" mais ceci ne fonctionne que pour les nouveaux enregistrements et non pour ce qui existe déjà. Si vous avez une solution, ca m'aiderait énormement. Merci d'avance
A+

3 réponses

Messages postés
268
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
19 janvier 2017
2
Pour forcer la valeur chaîne vide dans le champ ajouté à une table, le plus simple est d'utiliser une requête mise à jour :
Auparavant, charger Microsoft.DAO.3.6 dans les références du projet VB

Dim dbTrait as DAO.Database
Set dbTrait=DBEngine(0).OpenDatabase(CheminEtNomDeLaBaseAccess)
dbTrait.Execute "ALTER TABLE NomTable ADD COLUMN NomDuChamp TEXT(10);"
dbTrait.Execute "UPDATE NomTable SET NomDuChamp='" & vbNullString & "';"
dbTrait.Close

Si celà ne fonctionne pas, on peut utiliser un recordset de type dbOpenTable ou dbOpenDynaset et affecter la valeur vbNullString ou "" à chaque enregistrement.

Dim dbTrait as DAO.Database, rTrait as DAO.Recordset
Set dbTrait=DBEngine(0).OpenDatabase(CheminEtNomDeLaBaseAccess)
dbTrait.Execute "ALTER TABLE NomTable ADD COLUMN NomDuChamp TEXT(10);"
Set rTrait=dbTrait.OpenRecordset("NomTable", dbOpenTable)
rTrait.MoveFirst
Do
rTrait.Edit
rTrait("NomChamp")=vbNullString
rTrait.Update
rTrait.MoveNext
Loop Until rTrait.EOF
rTrait.Close : dbTrait.Close
Messages postés
153
Date d'inscription
mardi 1 novembre 2005
Statut
Membre
Dernière intervention
20 août 2006
3
salut , je sais pas comment sa ce fait avec vb6 mais mon idée c'est : apres avoir creer ton champ "Tel"tu fais un UPDATE sur ce champ et lui affecte la nouvelle valeur que tu veux
si tu met pas la clausse "where" toutes les ligne va prendre la meme valeur
voila
Messages postés
17
Date d'inscription
lundi 22 décembre 2003
Statut
Membre
Dernière intervention
4 juin 2012

Merci à tous les 2 pour vos reponses.J'ai fait une requete de mise à jour est mon probleme a été resolu.