Compléments pour Microsoft Access

http://access.fr.free.fr/

Importer tous les objets (Base de données)

Description 

Cette fonction vous permet d'importer l'intégralité des objets qui constituent une base de données externe à la base de données en cours.

 
Syntaxe 

fImportAllObject (strDataBase)

La syntaxe de la fonction fImportAllObject comprend l'élément suivant :

ElémentsDescription
strDataBaseL'argument strDataBase correspond au chemin complet et au nom de la base de données dont on souhaite importer l'intégralité des objets qui la constituent, cet argument est de type Texte (String).
 
Exemple 

fImportAllObject ("c:votreRépertoirelaBaseExterne.mdb")

 
Code de la fonction 


 

Function fImportAllObject(strDataBase As String)

Dim Dbs As Database
Dim tdf As TableDef
Dim qry As QueryDef
Dim cnt As Container
Dim doc As Document

Set Dbs = OpenDatabase(strDataBase)

'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

'Import les requêtes
For Each qry In Dbs.QueryDefs
DoCmd.TransferDatabase acImport, "Microsoft Access", _
strDataBase, acQuery, qry.Name, qry.Name, False, True
Next

'Import les formulaires
Set cnt = Dbs.Containers("Forms")
For Each doc In cnt.Documents
DoCmd.TransferDatabase acImport, "Microsoft Access", _
strDataBase, acForm, doc.Name, doc.Name, False, True
Next

'Import les états
Set cnt = Dbs.Containers("Reports")
For Each doc In cnt.Documents
DoCmd.TransferDatabase acImport, "Microsoft Access", _
strDataBase, acReport, doc.Name, doc.Name, False, True
Next

'Import les macros
Set cnt = Dbs.Containers("Scripts")
For Each doc In cnt.Documents
DoCmd.TransferDatabase acImport, "Microsoft Access", _
strDataBase, acMacro, doc.Name, doc.Name, False, True
Next

'Import les modules
Set cnt = Dbs.Containers("Modules")
For Each doc In cnt.Documents
DoCmd.TransferDatabase acImport, "Microsoft Access", _
strDataBase, acModule, doc.Name, doc.Name, False, True
Next

Dbs.Close: Set Dbs = Nothing
Set cnt = Nothing

End Function