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

Résolu/Fermé
Signaler
Messages postés
964
Date d'inscription
jeudi 21 décembre 2006
Statut
Membre
Dernière intervention
30 juillet 2009
-
Messages postés
964
Date d'inscription
jeudi 21 décembre 2006
Statut
Membre
Dernière intervention
30 juillet 2009
-
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.

2 réponses

Messages postés
23778
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
26 novembre 2021
3 148
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
Messages postés
964
Date d'inscription
jeudi 21 décembre 2006
Statut
Membre
Dernière intervention
30 juillet 2009
36
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