OVH Cloud OVH Cloud

Jessy, vu sur ton site ??

4 réponses
Avatar
ludo6625
Bonjour et merci pour ton site qui m'aide bien....

Voil=E0 j'ai rep=E9rer cette partie de code sur ton site
'Import les tables
For Each tdf In Dbs.TableDefs
If Left(tdf.Name, 4) <> "msys" Then
DoCmd.TransferDatabase acImport, "Microsoft Access", _
strDataBase, acTable, tdf.Name, tdf.Name, False, True
End If
Next

D=E9j=E0 ou met ton le nom de la base de laquelle on importe=20
et existe t'il une proc=E9dure pour li=E9er les tables ???

4 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

En fait tu as pris ce code d'une fonction complète...
c'est dans l'argument de la fonction strDatabase que
tu spécifis de quel base tu veux importer toutes les
tables dans la base de donnée en cours...

Donc en fait tu dois avoir ce qui suit :
pour l'utiliser, il suffit de faire :
importTable "c:...TabaseContenantTable.mdb"

*****************************************
Function ImportTable (strDatabase as string)
Dim Dbs as Database
Dim tdf As TableDef
For Each tdf In Dbs.TableDefs
If Left(tdf.Name, 4) <> "msys" Then
DoCmd.TransferDatabase acImport, "Microsoft Access", _
strDataBase, acTable, tdf.Name, tdf.Name, False, True
End If
Next
End Function
*****************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"ludo6625" a écrit dans le message
news: 0d6a01c3d9dd$e9376f70$
Bonjour et merci pour ton site qui m'aide bien....

Voilà j'ai repérer cette partie de code sur ton site
'Import les tables
For Each tdf In Dbs.TableDefs
If Left(tdf.Name, 4) <> "msys" Then
DoCmd.TransferDatabase acImport, "Microsoft Access", _
strDataBase, acTable, tdf.Name, tdf.Name, False, True
End If
Next

Déjà ou met ton le nom de la base de laquelle on importe
et existe t'il une procédure pour liéer les tables ???
Avatar
Jessy Sempere [MVP]
Re,

Concernant les attaches de tables, voilà 2 fonctions
pour te mettre sur la piste :

*******************************************
Public Function CreateTableAttached(strDataBase As String)
'** Création de table attachée sauf Msys et Usys
Dim db As Database
Dim tdf As TableDef
Dim tblNew As TableDef

Set db = OpenDatabase(strDataBase)

For Each tdf In db.TableDefs
If Left(tdf.Name, 4) <> "Msys" And Left(tdf.Name, 4) <> "Usys" Then
Set tblNew = CurrentDb.CreateTableDef(tdf.Name)
tblNew.Connect = ";DATABASE=" & db.Name
tblNew.SourceTableName = tdf.Name
CurrentDb.TableDefs.Append tblNew
End If
Next
End Function

Public Function ActualiserAttaches(strDb As String) As Boolean
'** Actualisation des attaches de tables qui se trouve
'** dans la base de donnée spécifiée dans "strDb"
Dim db As Database
Dim tdf As TableDef
Dim tdfNew As TableDef

Set db = OpenDatabase(strDb)
For Each tdf In db.TableDefs
Set tdfNew = CurrentDb.TableDefs(tdf.Name)
tdfNew.Connect = ";DATABASE=" & strDb
Err = 0
On Error Resume Next
tdfNew.RefreshLink
If Err <> 0 Then: ActualiserAttaches = False: Exit Function
Next
ActualiserAttaches = True

End Function
*******************************************

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"ludo6625" a écrit dans le message
news: 0d6a01c3d9dd$e9376f70$
Bonjour et merci pour ton site qui m'aide bien....

Voilà j'ai repérer cette partie de code sur ton site
'Import les tables
For Each tdf In Dbs.TableDefs
If Left(tdf.Name, 4) <> "msys" Then
DoCmd.TransferDatabase acImport, "Microsoft Access", _
strDataBase, acTable, tdf.Name, tdf.Name, False, True
End If
Next

Déjà ou met ton le nom de la base de laquelle on importe
et existe t'il une procédure pour liéer les tables ???
Avatar
ludo6625
J eveut en faite soit modifier le chemin de mes tables
liés dans ma base ou effacer toutes mes tables liées et
les remplacer par les tables correspondant au nouveau
chemin...

Si je change mon lecteur logique par exemple :
Si je passe de F: à G: Access va perdre toutes les
liaisons de mes tables liées ....


Merci d'avance
Avatar
ludo6625
Excuse moi mais pour donner le nouveau chemin c la
variable strdb que je met pour mon chemin . (set
strdb : "g:........Gp-Consulte.mdb")
et cette function va changer les attaches de toutes mes
tables liées sans changer celle de mes tables appartenant
à ma base en local ??"