Voila, j'ai une petit bout de code qui permet de supprimer toutes les tables liées d'une base access:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
Dim BD As DAO.Database
Set BD = CurrentDb
Dim tb As DAO.TableDef
Dim i As Integer
 
 
    BD.TableDefs.Refresh
    For Each tb In BD.TableDefs
 
        If Left(tb.Name, 4) <> "MSys" Then
            MsgBox tb.Connect & "  - " & tb.Attributes
            If Len(tb.Connect) > 0 Then
 
                'MsgBox tb.Name
                BD.TableDefs.Delete (tb.Name)
            End If
        End If
    Next tb
 
BD.TableDefs.Refresh

On s'attendrait a ce que toutes les tables liées aient disparues et bien non... pas toutes . Si je lance 3 ou 4 fois ce petit bout de code, ou que je le mets dans une boucle... pas de soucis ca enlève tout... mais en plusieurs fois.


Quelqu'un y verrait il une raison??


Merci d'avance