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

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

4 réponses
Avatar
AfterBoy
Bonjour,

Dans ma base de donn=E9e 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=E9ja une table qui porte ce nom. Est-ce possible de
contourner ce probl=E8me. 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=E9e.

Merci

4 réponses

Avatar
Raymond [mvp]
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" a écrit dans le message de news:

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
Avatar
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
Avatar
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 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" a écrit dans le message de news:

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
Avatar
AfterBoy
On 4 avr, 17:09, "Raymond [mvp]" wrote:
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" a écrit dans le message de news :

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.