Le forum ACCESS étant muet à ma question et Google tout autant (j'ai trouvé
100 FOIS la bonne syntaxe pour Postgres et MySQL !), je pose cette question
ici.
Je cherche - sans succès - la syntaxe pour renommer une colonne (champ) d'1
table ACCESS 2000 dans un programme VB.
La syntaxe "ALTER TABLE nomtable RENAME COLUMN vieuxnom TO nouveaunom" ne
fonctionne pas (message d'erreur de syntaxe) :-((
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Denis P
Désolé mais selon ce que j'ai pu trouver voici les possibilités
L'ordre ALTER sur une table permet de :
a.. supprimer une colonne b.. supprimer une contrainte c.. ajouter une colonne d.. ajouter une contrainte e.. ajouter une contrainte de ligne DEFAULT Il ne permet pas de : a.. changer le nom d'une colonne b.. changer le type d'une colonne c.. ajouter une contrainte de ligne NULL / NOT NULL Donc il semblerait que ce ne soit pas possible, c'est peut-être la raison pour laquelle tu ne trouves rien. Le mieux à faire dans ce cas serait peut-être de te créer une nouvelle colonne, de copier les données de ta colonne dans cette nouvelle colonne et ensuite de supprimer la colonne dont tu voulais changer le nom. Pour ma part je ne vois pas d'autre solution.
À mon sens c'est amplement justifier de ne pas pouvoir changer le nom d'une colonne, si à un quelconque endroit dans ta base tu faisais référence à cette colonne, ce serait carrément du sabotage. D'un autre côté si tu désires changer le nom de ta colonne simplement pour faire afficher un autre nom dans ton programme, ce serait peut-être plus simple de donner un alias à ta colonne lorsque tu formules ta requête.
Bonne chance
@ +
Denis P " teddy" <teddy# a écrit dans le message de news:%
Le forum ACCESS étant muet à ma question et Google tout autant (j'ai
trouvé
100 FOIS la bonne syntaxe pour Postgres et MySQL !), je pose cette
question
ici.
Je cherche - sans succès - la syntaxe pour renommer une colonne (champ)
d'1
table ACCESS 2000 dans un programme VB.
La syntaxe "ALTER TABLE nomtable RENAME COLUMN vieuxnom TO nouveaunom" ne fonctionne pas (message d'erreur de syntaxe) :-((
Avez-vous 1 idée ?
D'avance merci beaucoup !
Ted
Désolé mais selon ce que j'ai pu trouver voici les possibilités
L'ordre ALTER sur une table permet de :
a.. supprimer une colonne
b.. supprimer une contrainte
c.. ajouter une colonne
d.. ajouter une contrainte
e.. ajouter une contrainte de ligne DEFAULT
Il ne permet pas de :
a.. changer le nom d'une colonne
b.. changer le type d'une colonne
c.. ajouter une contrainte de ligne NULL / NOT NULL
Donc il semblerait que ce ne soit pas possible, c'est peut-être la raison
pour laquelle tu ne trouves rien. Le mieux à faire dans ce cas serait
peut-être de te créer une nouvelle colonne, de copier les données de ta
colonne dans cette nouvelle colonne et ensuite de supprimer la colonne dont
tu voulais changer le nom. Pour ma part je ne vois pas d'autre solution.
À mon sens c'est amplement justifier de ne pas pouvoir changer le nom d'une
colonne, si à un quelconque endroit dans ta base tu faisais référence à
cette colonne, ce serait carrément du sabotage. D'un autre côté si tu
désires changer le nom de ta colonne simplement pour faire afficher un autre
nom dans ton programme, ce serait peut-être plus simple de donner un alias à
ta colonne lorsque tu formules ta requête.
Bonne chance
@ +
Denis P
" teddy" <teddy#top@aol.com> a écrit dans le message de
news:%23cvR0CNxDHA.2528@TK2MSFTNGP10.phx.gbl...
Le forum ACCESS étant muet à ma question et Google tout autant (j'ai
trouvé
100 FOIS la bonne syntaxe pour Postgres et MySQL !), je pose cette
question
ici.
Je cherche - sans succès - la syntaxe pour renommer une colonne (champ)
d'1
table ACCESS 2000 dans un programme VB.
La syntaxe "ALTER TABLE nomtable RENAME COLUMN vieuxnom TO nouveaunom" ne
fonctionne pas (message d'erreur de syntaxe) :-((
Désolé mais selon ce que j'ai pu trouver voici les possibilités
L'ordre ALTER sur une table permet de :
a.. supprimer une colonne b.. supprimer une contrainte c.. ajouter une colonne d.. ajouter une contrainte e.. ajouter une contrainte de ligne DEFAULT Il ne permet pas de : a.. changer le nom d'une colonne b.. changer le type d'une colonne c.. ajouter une contrainte de ligne NULL / NOT NULL Donc il semblerait que ce ne soit pas possible, c'est peut-être la raison pour laquelle tu ne trouves rien. Le mieux à faire dans ce cas serait peut-être de te créer une nouvelle colonne, de copier les données de ta colonne dans cette nouvelle colonne et ensuite de supprimer la colonne dont tu voulais changer le nom. Pour ma part je ne vois pas d'autre solution.
À mon sens c'est amplement justifier de ne pas pouvoir changer le nom d'une colonne, si à un quelconque endroit dans ta base tu faisais référence à cette colonne, ce serait carrément du sabotage. D'un autre côté si tu désires changer le nom de ta colonne simplement pour faire afficher un autre nom dans ton programme, ce serait peut-être plus simple de donner un alias à ta colonne lorsque tu formules ta requête.
Bonne chance
@ +
Denis P " teddy" <teddy# a écrit dans le message de news:%
Le forum ACCESS étant muet à ma question et Google tout autant (j'ai
trouvé
100 FOIS la bonne syntaxe pour Postgres et MySQL !), je pose cette
question
ici.
Je cherche - sans succès - la syntaxe pour renommer une colonne (champ)
d'1
table ACCESS 2000 dans un programme VB.
La syntaxe "ALTER TABLE nomtable RENAME COLUMN vieuxnom TO nouveaunom" ne fonctionne pas (message d'erreur de syntaxe) :-((
Avez-vous 1 idée ?
D'avance merci beaucoup !
Ted
teddy
Merci Denis pour ta réponse.
Je crois en effet que l'opération "renommage colonne" n'est pas possible.
C'est dommage car parfaitement faisable dans tous les autres SGBD !!!
Je vais créer un nouvelle table par "SELECT x, y, z AS newname INTO..." à partir de l'ancienne et donner un alias au nom de la colonne qu'il faut changer (le nom doit être absolument changé pour l'usage que l'on me demande).
Ted
"Denis P" a écrit dans le message de news:
Désolé mais selon ce que j'ai pu trouver voici les possibilités
L'ordre ALTER sur une table permet de :
a.. supprimer une colonne b.. supprimer une contrainte c.. ajouter une colonne d.. ajouter une contrainte e.. ajouter une contrainte de ligne DEFAULT Il ne permet pas de : a.. changer le nom d'une colonne b.. changer le type d'une colonne c.. ajouter une contrainte de ligne NULL / NOT NULL Donc il semblerait que ce ne soit pas possible, c'est peut-être la raison pour laquelle tu ne trouves rien. Le mieux à faire dans ce cas serait peut-être de te créer une nouvelle colonne, de copier les données de ta colonne dans cette nouvelle colonne et ensuite de supprimer la colonne
dont
tu voulais changer le nom. Pour ma part je ne vois pas d'autre solution.
À mon sens c'est amplement justifier de ne pas pouvoir changer le nom
d'une
colonne, si à un quelconque endroit dans ta base tu faisais référence à cette colonne, ce serait carrément du sabotage. D'un autre côté si tu désires changer le nom de ta colonne simplement pour faire afficher un
autre
nom dans ton programme, ce serait peut-être plus simple de donner un alias
à
ta colonne lorsque tu formules ta requête.
Bonne chance
@ +
Denis P " teddy" <teddy# a écrit dans le message de news:% > Le forum ACCESS étant muet à ma question et Google tout autant (j'ai trouvé > 100 FOIS la bonne syntaxe pour Postgres et MySQL !), je pose cette question > ici. > > Je cherche - sans succès - la syntaxe pour renommer une colonne (champ) d'1 > table ACCESS 2000 dans un programme VB. > > La syntaxe "ALTER TABLE nomtable RENAME COLUMN vieuxnom TO nouveaunom"
ne
> fonctionne pas (message d'erreur de syntaxe) :-(( > > Avez-vous 1 idée ? > > D'avance merci beaucoup ! > > Ted > >
Merci Denis pour ta réponse.
Je crois en effet que l'opération "renommage colonne" n'est pas possible.
C'est dommage car parfaitement faisable dans tous les autres SGBD !!!
Je vais créer un nouvelle table par "SELECT x, y, z AS newname INTO..." à
partir de l'ancienne et donner un alias au nom de la colonne qu'il faut
changer (le nom doit être absolument changé pour l'usage que l'on me
demande).
Ted
"Denis P" <denispronovostNospam@sympatico.ca> a écrit dans le message de
news:e5YuVwNxDHA.2556@TK2MSFTNGP10.phx.gbl...
Désolé mais selon ce que j'ai pu trouver voici les possibilités
L'ordre ALTER sur une table permet de :
a.. supprimer une colonne
b.. supprimer une contrainte
c.. ajouter une colonne
d.. ajouter une contrainte
e.. ajouter une contrainte de ligne DEFAULT
Il ne permet pas de :
a.. changer le nom d'une colonne
b.. changer le type d'une colonne
c.. ajouter une contrainte de ligne NULL / NOT NULL
Donc il semblerait que ce ne soit pas possible, c'est peut-être la raison
pour laquelle tu ne trouves rien. Le mieux à faire dans ce cas serait
peut-être de te créer une nouvelle colonne, de copier les données de ta
colonne dans cette nouvelle colonne et ensuite de supprimer la colonne
dont
tu voulais changer le nom. Pour ma part je ne vois pas d'autre solution.
À mon sens c'est amplement justifier de ne pas pouvoir changer le nom
d'une
colonne, si à un quelconque endroit dans ta base tu faisais référence à
cette colonne, ce serait carrément du sabotage. D'un autre côté si tu
désires changer le nom de ta colonne simplement pour faire afficher un
autre
nom dans ton programme, ce serait peut-être plus simple de donner un alias
à
ta colonne lorsque tu formules ta requête.
Bonne chance
@ +
Denis P
" teddy" <teddy#top@aol.com> a écrit dans le message de
news:%23cvR0CNxDHA.2528@TK2MSFTNGP10.phx.gbl...
> Le forum ACCESS étant muet à ma question et Google tout autant (j'ai
trouvé
> 100 FOIS la bonne syntaxe pour Postgres et MySQL !), je pose cette
question
> ici.
>
> Je cherche - sans succès - la syntaxe pour renommer une colonne (champ)
d'1
> table ACCESS 2000 dans un programme VB.
>
> La syntaxe "ALTER TABLE nomtable RENAME COLUMN vieuxnom TO nouveaunom"
ne
> fonctionne pas (message d'erreur de syntaxe) :-((
>
> Avez-vous 1 idée ?
>
> D'avance merci beaucoup !
>
> Ted
>
>
Je crois en effet que l'opération "renommage colonne" n'est pas possible.
C'est dommage car parfaitement faisable dans tous les autres SGBD !!!
Je vais créer un nouvelle table par "SELECT x, y, z AS newname INTO..." à partir de l'ancienne et donner un alias au nom de la colonne qu'il faut changer (le nom doit être absolument changé pour l'usage que l'on me demande).
Ted
"Denis P" a écrit dans le message de news:
Désolé mais selon ce que j'ai pu trouver voici les possibilités
L'ordre ALTER sur une table permet de :
a.. supprimer une colonne b.. supprimer une contrainte c.. ajouter une colonne d.. ajouter une contrainte e.. ajouter une contrainte de ligne DEFAULT Il ne permet pas de : a.. changer le nom d'une colonne b.. changer le type d'une colonne c.. ajouter une contrainte de ligne NULL / NOT NULL Donc il semblerait que ce ne soit pas possible, c'est peut-être la raison pour laquelle tu ne trouves rien. Le mieux à faire dans ce cas serait peut-être de te créer une nouvelle colonne, de copier les données de ta colonne dans cette nouvelle colonne et ensuite de supprimer la colonne
dont
tu voulais changer le nom. Pour ma part je ne vois pas d'autre solution.
À mon sens c'est amplement justifier de ne pas pouvoir changer le nom
d'une
colonne, si à un quelconque endroit dans ta base tu faisais référence à cette colonne, ce serait carrément du sabotage. D'un autre côté si tu désires changer le nom de ta colonne simplement pour faire afficher un
autre
nom dans ton programme, ce serait peut-être plus simple de donner un alias
à
ta colonne lorsque tu formules ta requête.
Bonne chance
@ +
Denis P " teddy" <teddy# a écrit dans le message de news:% > Le forum ACCESS étant muet à ma question et Google tout autant (j'ai trouvé > 100 FOIS la bonne syntaxe pour Postgres et MySQL !), je pose cette question > ici. > > Je cherche - sans succès - la syntaxe pour renommer une colonne (champ) d'1 > table ACCESS 2000 dans un programme VB. > > La syntaxe "ALTER TABLE nomtable RENAME COLUMN vieuxnom TO nouveaunom"
ne
> fonctionne pas (message d'erreur de syntaxe) :-(( > > Avez-vous 1 idée ? > > D'avance merci beaucoup ! > > Ted > >
Jean-Marc
" teddy" <teddy# a écrit dans le message de news:
Merci Denis pour ta réponse.
Je crois en effet que l'opération "renommage colonne" n'est pas possible.
C'est dommage car parfaitement faisable dans tous les autres SGBD !!!
Hello Teddy,
il y a quand même une solution :-)
Dim db As Database Set db = OpenDatabase("c:dbtest.mdb") db.TableDefs("Table1").Fields("toto").Name = "turlututu"
La propriété name est accessible en lecture/ecriture, ce code fonctionne bien. Ma base dbtest.mdb a été créée pour les besoins de ce test avec Access 2002.
En fait, il semble que le statement SQL "ALTER TABLE table 1 RENAME COLUMN toto TO turlututu" ne soit pas accepté par toutes les bases. Microsoft est un peu confus à ce sujet; Cette syntaxe est décrite comme telle dans la doc : "ODBC Drivers" mais dans la doc Access, les possibilités de ALTER TABLE sont beaucoup plus succintes et de fait, elles ne comportent pas le RENAME.
Jean-Marc
" teddy" <teddy#top@aol.com> a écrit dans le message de
news:uQCCscaxDHA.2000@TK2MSFTNGP11.phx.gbl...
Merci Denis pour ta réponse.
Je crois en effet que l'opération "renommage colonne" n'est pas possible.
C'est dommage car parfaitement faisable dans tous les autres SGBD !!!
Hello Teddy,
il y a quand même une solution :-)
Dim db As Database
Set db = OpenDatabase("c:dbtest.mdb")
db.TableDefs("Table1").Fields("toto").Name = "turlututu"
La propriété name est accessible en lecture/ecriture, ce code fonctionne
bien. Ma base dbtest.mdb a été créée pour les besoins de ce test avec Access
2002.
En fait, il semble que le statement SQL "ALTER TABLE table 1 RENAME COLUMN
toto TO turlututu"
ne soit pas accepté par toutes les bases. Microsoft est un peu confus à ce
sujet; Cette syntaxe est décrite comme telle dans la doc : "ODBC Drivers"
mais dans la doc Access, les possibilités de ALTER TABLE sont beaucoup plus
succintes et de fait, elles ne comportent pas le RENAME.
Je crois en effet que l'opération "renommage colonne" n'est pas possible.
C'est dommage car parfaitement faisable dans tous les autres SGBD !!!
Hello Teddy,
il y a quand même une solution :-)
Dim db As Database Set db = OpenDatabase("c:dbtest.mdb") db.TableDefs("Table1").Fields("toto").Name = "turlututu"
La propriété name est accessible en lecture/ecriture, ce code fonctionne bien. Ma base dbtest.mdb a été créée pour les besoins de ce test avec Access 2002.
En fait, il semble que le statement SQL "ALTER TABLE table 1 RENAME COLUMN toto TO turlututu" ne soit pas accepté par toutes les bases. Microsoft est un peu confus à ce sujet; Cette syntaxe est décrite comme telle dans la doc : "ODBC Drivers" mais dans la doc Access, les possibilités de ALTER TABLE sont beaucoup plus succintes et de fait, elles ne comportent pas le RENAME.