Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment changer le nom d1 champ dans une table

5 réponses
Avatar
DAniel
Bonjour
La question est dans le titre
La table est vide
(code vba ) , pas avec le mode création bien sur ..
Merci de votre aide
DAniel

5 réponses

Avatar
Bonjour,

"DAniel" a écrit dans le message de news: 44538d45$0$12867$
Bonjour
La question est dans le titre
La table est vide
(code vba ) , pas avec le mode création bien sur ..
Merci de votre aide
DAniel
Ce genre d'intervention sur une base "en production" risque de corrompre ta base

Tu peux exécuter successivement les 2 commandes sql :

currentdb.execute "ALTER TABLE tatable DROP COLUMN tonchamp"
currentdb.execute "ALTER TABLE tatable ADD COLUMN tonnouveauchamp TEXT(40)"

Sinon, je te suggère plutôt de générer dynamiquement des requêtes basées sur une table passe-partout
du genre
table TaTable
champs : Champ1, Champ2, Champ3

requetes
TaRequete1
Select Champ1 as NomDuCapitaine, Champ2 as DateNaissance
from
TaTable

ou
TaRequete2
Select Champ1 as NomDeLaMinistresse, Champ2 as DateNaissance
from
TaTable


--
Arnaud
---------------------------------------------
infos, conseils et liens : http://www.mpfa.info
---------------------------------------------

Avatar
Eric
Bonjour,

En supposant que la table en question n'est pas mise en relation avec
une autre sur ce champ - la table est vide. (Adapter les noms)

Sub zz()
'Référence Microsoft DAO 3.x Object Library
Dim db As DAO.Database
Dim t As DAO.TableDef, f As DAO.Field
Set db = CurrentDb
Set t = db.TableDefs("NomTable")
For Each f In t.Fields
If f.Name = "AncienNomChamp" Then
f.Name = "NouveauNomChamp"
Exit For
End If
Next f
Set t = Nothing
db.Close
Set db = Nothing
End Sub

Il est possible de le faire en sql : il faut dans ce cas là ajouter le
nouveau champ puis supprimer l'ancien. Exemple:

Sub yy()
Dim strsql As String
strsql = "alter table LaTable add column NouveauChamp Text(50);"
CurrentDb.Execute strsql
strsql = "alter table LaTable drop column AncienChamp ;"
CurrentDb.Execute strsql
End Sub

Bonjour
La question est dans le titre
La table est vide
(code vba ) , pas avec le mode création bien sur ..
Merci de votre aide
DAniel




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
J-Pierre
Salut Eric,

Tu proposes au monsieur de perdre toutes les données de son champ ? Tu n'as pas honte ? :-))))

Entre les 2 alter, ce serait pas mal insérer une instruction UPDATE pour copier l'ancien champ dans le nouveau.

J-Pierre

"Eric" a écrit dans le message de news: %
Bonjour,

En supposant que la table en question n'est pas mise en relation avec une autre sur ce champ - la table est vide. (Adapter
les noms)

Sub zz()
'Référence Microsoft DAO 3.x Object Library
Dim db As DAO.Database
Dim t As DAO.TableDef, f As DAO.Field
Set db = CurrentDb
Set t = db.TableDefs("NomTable")
For Each f In t.Fields
If f.Name = "AncienNomChamp" Then
f.Name = "NouveauNomChamp"
Exit For
End If
Next f
Set t = Nothing
db.Close
Set db = Nothing
End Sub

Il est possible de le faire en sql : il faut dans ce cas là ajouter le nouveau champ puis supprimer l'ancien. Exemple:

Sub yy()
Dim strsql As String
strsql = "alter table LaTable add column NouveauChamp Text(50);"
CurrentDb.Execute strsql
strsql = "alter table LaTable drop column AncienChamp ;"
CurrentDb.Execute strsql
End Sub

Bonjour
La question est dans le titre
La table est vide
(code vba ) , pas avec le mode création bien sur ..
Merci de votre aide
DAniel


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Eric
Bonsoir Jean-Pierre,

Non, non je n'ai pas honte. ;-)
Le Monsieur a dit :
La table est vide


ou alors je dois changer mes lunettes :-(

Salut Eric,

Tu proposes au monsieur de perdre toutes les données de son champ ? Tu n'as pas honte ? :-))))

Entre les 2 alter, ce serait pas mal insérer une instruction UPDATE pour copier l'ancien champ dans le nouveau.

J-Pierre




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
J-Pierre
Houuuuups !!!!!!!! non non, garde-les, mais je vais changer les miennes ;-(