Access - Changer le nom de colonne d'une table

Signaler
Messages postés
9
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
22 juillet 2010
-
Messages postés
47
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
14 octobre 2009
-
Bonjour,

Je viens de prendre un nouveau poste, et avec, la gestion d'une application Access. J'arrive à me dépatouiller, mais là je bloque...
Dans une des tables, mon prédécesseur avait laissé des champs de réserve, et je doit en utiliser un pour une nouvelle fonction.
Mon souci est de renommer celui-ci pour que ce soit plus clair ( Reseve83 en Proxy ) dans une table TaPermis.

J'essaye DoCmd.rename TaPermis.Proxy,,TaPermis.Reserve83 sans succès.

Est-ce la bonne commande ?
Est-ce la bonne syntaxe ?

Merci

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
70
Salut
Désolé, je ne connais pas cette syntaxe.
Puisqu'il s'agit d'une modif que tu ne feras qu'une fois, mieux vaudrait modifier ce nom directement dans la table, sous Access.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
9
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
22 juillet 2010

Merci Jack, mais le soucis est qu'il n'y à pas qu'une base unique, chaque utilisateur à sa propre base, donc manip à faire x fois. J'avais dans l'idée d'un if qui teste le nom de champs TaPermis.Proxy, et si il n'existe pas, faire la manip.
Tu as peut-être une autre idée ?

Fred
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Ok
Une autre manip peut consister à laisser le nom de ton champ tel quel, "Reseve83", et d'utiliser les Alias (As) dans les requètes, exemple :
Select Reseve83 As Proxy From maTable

Sinon, approfondi la syntaxe Rename et vérifie dans l'aide SQL sur internet comment ça se paramètre.
(ça métonne d'ailleurs qu'on précise le nouveau nom du champ avant l'ancien, pas dans la logique classique)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
47
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
14 octobre 2009
2
Bonjour,

Sinon en utilisant le modèle DAO cela devrait fonctionner.

Sub test()
Dim myDbs As DAO.Database
Dim myTdf As DAO.TableDef

Set myDbs = CurrentDb
Set myTdf = myDbs.TableDefs("TaPermis")
myTdf.Fields("Reseve83").Name = "Proxy"
Set myTdf = Nothing
Set myDbs = Nothing
End Sub

Cordialement.