[VBA] Récupération nom table - fichier Access

Résolu/Fermé
_goni Messages postés 964 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 30 juillet 2009 - 17 janv. 2007 à 11:21
_goni Messages postés 964 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 30 juillet 2009 - 17 janv. 2007 à 13:50
Bonjour à tous,

Je cherche une petite fonction VBA qui me permetterais de supprimer toutes les tables de mon ficher Access.

Si vous avez besoin de plus d'info dites le moi.
Merci d'avance.

Benoit.
A voir également:

2 réponses

blux Messages postés 26498 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 28 novembre 2024 3 317
17 janv. 2007 à 13:48
Salut,

pour ça, il te faut parcourir la collection des tables de la base courante et générer un peu de SQL pour faire un drop table avec RunSql...

Attention, à ne pas supprimer les tables système (commençant par Msys...)
Dim Ta As TableDef
For Each Ta In CurrentDb.TableDefs
    MsgBox Ta.Name
Next
0
_goni Messages postés 964 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 30 juillet 2009 38
17 janv. 2007 à 13:50
J'ai trouvé la solution. Voila le code si ça peut aider quelqu'un

Dim BD As DAO.Database
Set BD = CurrentDb
Dim tb As DAO.TableDef
For Each tb In BD.TableDefs
    If Left(tb.Name, 4) <> "MSys" Then
        If Len(tb.Connect) > 0 Then
            DoCmd.RunSQL "DROP TABLE [" & tb.Name & "] ;"
            Debug.Print "effacement de " & tb.Name & " -=#=> " & tb.Connect
        End If
    End If
Next tb
0