Probleme création d'un champ dans table

croco83 Messages postés 17 Date d'inscription lundi 22 décembre 2003 Statut Membre Dernière intervention 4 juin 2012 - 17 févr. 2006 à 08:53
croco83 Messages postés 17 Date d'inscription lundi 22 décembre 2003 Statut Membre Dernière intervention 4 juin 2012 - 20 févr. 2006 à 13:28
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

cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
17 févr. 2006 à 14:34
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
0
amylee1984 Messages postés 153 Date d'inscription mardi 1 novembre 2005 Statut Membre Dernière intervention 20 août 2006 3
19 févr. 2006 à 03:41
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
0
croco83 Messages postés 17 Date d'inscription lundi 22 décembre 2003 Statut Membre Dernière intervention 4 juin 2012
20 févr. 2006 à 13:28
Merci à tous les 2 pour vos reponses.J'ai fait une requete de mise à jour est mon probleme a été resolu.
0
Rejoignez-nous