SuperBouly
Messages postés410Date d'inscriptiondimanche 1 février 2004StatutMembreDernière intervention 8 mai 2010
-
22 mars 2007 à 21:23
SuperBouly
Messages postés410Date d'inscriptiondimanche 1 février 2004StatutMembreDernière intervention 8 mai 2010
-
25 mars 2007 à 07:07
bonjour,
Je travaille avec VS2005 en VB.Net.
Je désire renommer une colonne d'une table ACCESS.
J'ai essayé la commande:
"ALTER TABLE MaTable RENAME COLUMN MaColonne TO MaNouvelleColonne" et quelques variantes inventées à la volée, mais le serveur me lève toujours la même exception :
Erreur de syntaxe dans l'intruction ALTER TABLE
Je ne trouve même pas de doc sur access à ce sujet.
Quelqu'un a-t-il la réponse ? Merci de vos lumières
Gilles
SuperBouly
Messages postés410Date d'inscriptiondimanche 1 février 2004StatutMembreDernière intervention 8 mai 2010 23 mars 2007 à 09:38
bonjour,
voilà une piste très sérieuse, je viens d'importer ms.adox.dll dans mon projet, j'ai tous les objets à ma disposition. Au travail,
Merci !
Je te tiens au courant
@+Gilles
SuperBouly
Messages postés410Date d'inscriptiondimanche 1 février 2004StatutMembreDernière intervention 8 mai 2010 22 mars 2007 à 22:19
bonsoir,
merci de ta réponse.
Seulement voila, la base est access, pas de procédures stockées du genre sp_rename.
Pour le paragraphe final sur access, il fait appel à l'objet asp ADOX, inconnu dans le net.framework 2.0 utilisé dans mon projet.(asp.net 2.0).
Il me faut trouver autrechose !
J'ai fait une astuce qui consiste à créér une colonne identique portant le nouveau nom, recopier l'ancienne dans la nouvelle, et supprimer l'ancienne. mais l'odre des colonnes n'est pas conservé, ça me cree quelques soucis supplémentaires !
a suivre donc.
merci et @+
Gilles
SuperBouly
Messages postés410Date d'inscriptiondimanche 1 février 2004StatutMembreDernière intervention 8 mai 2010 25 mars 2007 à 07:07
Bonjour,
Ok, voilà la sub en VB.Net 2.0, où strBase représente le chemin d'accès à la base, sTable nom de la table,sCol l'ancien Nom de colonne, NNomCol le nouveau.
(d'abord, ajouter la référence COM msadox.dll)
Dim cat As New ADOX.Catalog
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & StrBase
cn.Open()
Try
cat.ActiveConnection = cn
cat.Tables(sTab).Columns(sCol).Name = NNomCol cat.Tables.Refresh()
Catch ex As Exception
Throw New ArgumentException(ex.Message)
End Try
cn.Close()