OVH Cloud OVH Cloud

Actions sur base Access

2 réponses
Avatar
Daniel AUBRY
Bonsoir,
je dois transmettre une base Access épurée de tous ses objets sauf les
tables.

je peux donc soit supprimer toutes les requêtes, toutes les macros ainsi
que tous les états ou créer une base vide et importer les tables.

Je ne sais pas quelle méthode est la plus simple et la plus rapide et
surtout
je n'y arrive pas.

J'ai cherché du côté de ADOX.Catalog mais sans résultats.

Si quelqu'un a déjà pratiqué.

Dany

2 réponses

Avatar
Fred
Dans son message 42baed37$0$24854$
Daniel AUBRY nous dit :

Bonsoir,
je dois transmettre une base Access épurée de tous ses objets sauf les
tables.

je peux donc soit supprimer toutes les requêtes, toutes les macros
ainsi que tous les états ou créer une base vide et importer les
tables.
Je ne sais pas quelle méthode est la plus simple et la plus rapide et
surtout
je n'y arrive pas.

J'ai cherché du côté de ADOX.Catalog mais sans résultats.

Si quelqu'un a déjà pratiqué.




Bonsoir,
Pas pratiqué mais vas plutôt voir du côté de la librairie Microsoft
Access xx.x Object Library.
Là on trouve les tables, modules, requêtes, etc ...


--
Fred
Avatar
Clive
Hello Daniel,

Je crois que le plus simple est de copier les tables dans une nouvelle
base, plutôt que de détruire ce qu'il ne faut pas transmettre...

En utilisant VBA dans Access-même c'est d'une facilté alarmante (je
ne savais pas faire, donc je me suis plongé dans l'aide Access)
Voici le code (la base de destination doit exister)

Clive

Public Sub test()
Dim BaseDeDonnees As Object
Dim NomTable As String
Dim CetteTable As AccessObject
Dim PathNlleBase As String
PathNlleBase = "C:Temptest.mdb"

Set BaseDeDonnees = Application.CurrentData

For Each CetteTable In BaseDeDonnees.AllTables
NomTable = CetteTable.Name
If Left$(NomTable, 4) <> "MSys" Then 'Ignorer les tables système
DoCmd.CopyObject PathNlleBase, NomTable, acTable, NomTable
End If
Next CetteTable
End Sub