Donnée un autre nom à une table attachée

Le
AfterBoy
Bonjour,

Dans ma base de donnée j'ai une table "Prof" et je dois attacher une
table "Prof" qui existe dans une autre base mais Access me le refuse
puisque il y a déja une table qui porte ce nom. Est-ce possible de
contourner ce problème. Je ne veux pas changer le nom de l'une des 2
tables prof puisque ca serait vraiment trop long de tout modifier mon
code et mes formulaires. Si c'est pas possible existe t-il une facon
d'aller lire dans cette table sans qu'elle soit attachée.

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond [mvp]
Le #6352931
Bonjour.

Tu n'as pas dû exécuter les bonnes manipulations car access accepte de lier
n fois la même table ou des tables différentes portant le même nom, sauf
qu'il rajoute un indice au nom de la table locale.
si tu as une table nommée table1
si tu lies une table table1 d'une autre base, il va la nommer Table11
si tu lies une table table1 d'une autre base encore , il va la nommer
Table12
etc...
ceci est réalisable pour les versions 2000 à 2007. pour la version 97 je ne
peux pas vérifier.
--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"AfterBoy"
Bonjour,

Dans ma base de donnée j'ai une table "Prof" et je dois attacher une
table "Prof" qui existe dans une autre base mais Access me le refuse
puisque il y a déja une table qui porte ce nom. Est-ce possible de
contourner ce problème. Je ne veux pas changer le nom de l'une des 2
tables prof puisque ca serait vraiment trop long de tout modifier mon
code et mes formulaires. Si c'est pas possible existe t-il une facon
d'aller lire dans cette table sans qu'elle soit attachée.

Merci
AfterBoy
Le #6352921
Bonjour,

je précise que j'attache ma table en vba avec le code suivant que j'ai
pris dans le forum :

Function CreerTableAttachee(Repertoire, table)
On Error GoTo erreur
Dim dbLocal As Database
Dim tbfNewAttached As TableDef, chemin As String

'creation du chemin des tables attachee
chemin = ";database=" & Repertoire 'Ex : "C:MonrepMabase.mdb"
Set dbLocal = CurrentDb()

Set tbfNewAttached = dbLocal.CreateTableDef(table)
With tbfNewAttached
.Connect = chemin
.SourceTableName = table
End With
dbLocal.TableDefs.Append tbfNewAttached
CreerTableAttachee = "OK"
fin:
Set dbLocal = Nothing
Exit Function
erreur:
MsgBox Err.Description
CreerTableAttachee = "Erreur"
Resume fin

Que dois-je changer dans le code alors

Merci
Raymond [mvp]
Le #6352911
Utilise plutôt cette fonction à la place de tout ton code:

Function CreerTableAttachee(Repertoire, table)
DoCmd.TransferDatabase acLink, "Microsoft Access",Repertoire , acTable,
table, table
End Function

- évite de nommer des variables avec table
- Repertoire doit contenir le nom de la base sous sa forme "F:Mes Documents
sur Databd1_2000.mdb" par exemple.
- si table existe la table sera créée avec un indice, à toi de récupérer le
nom exact, en supprimant les tables existantes.
--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

"AfterBoy"
Bonjour,

je précise que j'attache ma table en vba avec le code suivant que j'ai
pris dans le forum :

Function CreerTableAttachee(Repertoire, table)
On Error GoTo erreur
Dim dbLocal As Database
Dim tbfNewAttached As TableDef, chemin As String

'creation du chemin des tables attachee
chemin = ";database=" & Repertoire 'Ex : "C:MonrepMabase.mdb"
Set dbLocal = CurrentDb()

Set tbfNewAttached = dbLocal.CreateTableDef(table)
With tbfNewAttached
.Connect = chemin
.SourceTableName = table
End With
dbLocal.TableDefs.Append tbfNewAttached
CreerTableAttachee = "OK"
fin:
Set dbLocal = Nothing
Exit Function
erreur:
MsgBox Err.Description
CreerTableAttachee = "Erreur"
Resume fin

Que dois-je changer dans le code alors

Merci
AfterBoy
Le #6351731
On 4 avr, 17:09, "Raymond [mvp]"
Utilise plutôt cette fonction à la place de tout ton code:

Function CreerTableAttachee(Repertoire, table)
DoCmd.TransferDatabase acLink, "Microsoft Access",Repertoire , acTable,
table, table
End Function

- évite de nommer des variables avec table
- Repertoire doit contenir le nom de la base sous sa forme "F:Mes Documen ts
sur Databd1_2000.mdb" par exemple.
- si table existe la table sera créée avec un indice, à toi de réc upérer le
nom exact, en supprimant les tables existantes.
--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/http://officesys tem.access.over-blog.com/http://access2007.over-blog.com/
Pour débuter sur le forum:http://www.mpfa.info/

"AfterBoy"
Bonjour,

je précise que j'attache ma table en vba avec le code suivant que j'ai
pris dans le forum :

Function CreerTableAttachee(Repertoire, table)
On Error GoTo erreur
Dim dbLocal As Database
Dim tbfNewAttached As TableDef, chemin As String

'creation du chemin des tables attachee
chemin = ";database=" & Repertoire 'Ex : "C:MonrepMabase.mdb"
Set dbLocal = CurrentDb()

Set tbfNewAttached = dbLocal.CreateTableDef(table)
With tbfNewAttached
.Connect = chemin
.SourceTableName = table
End With
dbLocal.TableDefs.Append tbfNewAttached
CreerTableAttachee = "OK"
fin:
Set dbLocal = Nothing
Exit Function
erreur:
MsgBox Err.Description
CreerTableAttachee = "Erreur"
Resume fin

Que dois-je changer dans le code alors

Merci


Merci beaucoup Raymond, ca fonctionne A1.

Publicité
Poster une réponse
Anonyme