Ajout données à un champ

Signaler
-
Messages postés
12759
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 octobre 2020
-
bonjour
je souhaite créer une nouvelle requête qui crée un colonne puis qui ajoute du texte à tout les champs de cette colonne
pour le moment via du code SQL j'ai réussi à ajouter la nouvelle colonne via le code ci-dessous
ALTER TABLE table2 ADD column FAMILLE TEXT(25);

Pouvez vous m'indiquer comment ajouter le texte "DUPONT" a tout les champs de la colonne FAMILLE
j'ai trouvé le code ci-dessous mais j'ai un problème de syntaxe
ALTER TABLE table2 ADD column FAMILLE TEXT(25) DEFAULT Dupont;

4 réponses

Messages postés
456
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
24 octobre 2020
30
Bizarre que cela ne fonctionne pas, à première vue la syntaxe est bonne.

Du coup, fais le en 2 étapes (création et mise à jour)
ALTER TABLE table2 ADD column FAMILLE TEXT(25);
UPDATE table2 SET table2.famille = "DUPONT"; 


A+
Messages postés
456
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
24 octobre 2020
30
Je viens de tester, sous access 2013 j'ai aussi le bug :-(
Messages postés
12759
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 octobre 2020
710
bonjour,
quel est le message d'erreur?
peut-être "Dupont" au lieu de Dupont.
ALTER TABLE table2 ADD column FAMILLE TEXT(25) DEFAULT "Dupont";
Messages postés
12759
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 octobre 2020
710
Vous ne pouvez exécuter l'instruction DEFAULT qu'au moyen du fournisseur Access OLE DB et d'ADO. Elle renverra un message d'erreur si vous utilisez l'interface utilisateur Access SQL View.

https://docs.microsoft.com/fr-ch/office/vba/access/concepts/structured-query-language/modify-a-table-s-design-using-access-sql

CurrentProject.Connection.Execute _
    "ALTER TABLE testddl ADD column FAMILLE21 TEXT(25) DEFAULT 'Yves';"
Messages postés
456
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
24 octobre 2020
30
Il serait judicieux que Cro$soft corrige ce "bug", tout du moins accepte de faire du sql dans Access sans passer par un connecteur...
Merci de l'info.
Messages postés
12759
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 octobre 2020
710 >
Messages postés
456
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
24 octobre 2020

un bug documenté n'est plus un bug, il est devenu une fonctionnalité.
Messages postés
456
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
24 octobre 2020
30 >
Messages postés
12759
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 octobre 2020

pour cela que j'ai mis des " " autour du mot bug...
Donc, pour jouer sur la sémantique, fassent de cette non fonctionnalité une fonctionnalité qui fonctionne :))))
Car être obligé de passer par du vba pour exécuter une requête sql toute bête, je suis un peu surpris...
Messages postés
12759
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 octobre 2020
710 >
Messages postés
456
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
24 octobre 2020

Access permet de faire cela par le GUI, sans VBA.
C'est du DDL, pas du DML, donc je ne dirais pas que c'est une requête simple, d'autant moins dans le contexte de Access.
bonjour

je vous remercie pour vos retour et votre aide
j'ai essayé le code SQL proposé .....
CurrentProject.Connection.Execute _
"ALTER TABLE testddl ADD column FAMILLE21 TEXT(25) DEFAULT 'Yves';"

ce dernier code ci-dessus ne fonctionne pas.
Une solution serait de remplir par défaut la colonne avec la valeur souhaité
Messages postés
456
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
24 octobre 2020
30
Messages postés
12759
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 octobre 2020
710
pourquoi faire cela via du SQL, si tu ne le fais pas par VBA?