Importer les objets d'une base de données


Le code qui suit permet d'importer tous les objets d'une base de donnée externe.

Function ImportAllObject(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

 

Retour haut de page

Auteur : Jessy SEMPERE