Quote Originariamente inviata da emmeastudio2016 Visualizza il messaggio
......Lunedì provo ......
Permettimi di perfezionare,

Quel "On Error Resume Next" non mi piace,
ma pero possiamo forzare l'aggiornamento del TableDefs

poi avevo dimenticato la chiusura degli oggetti

cosi dovrebbe funzionare meglio:
codice:
Private Sub EliminaTabelle2()

Dim DBx As DAO.Database
Set DBx = DBEngine(0)(0)
Dim tbx As DAO.TableDef

DBx.TableDefs.Refresh

    For Each tbx In DBx.TableDefs
        If Left(tbx.Name, 4) <> "MSys" And tbx.Name <> "tabella1" Then
            DoCmd.DeleteObject acTable, tbx.Name
        End If
    Next

DBx.Close
Set DBx = Nothing

'  Magari qui aggiungi un bel
'    Me.NomePulsante.Enabled = False
'  cosi ti assicuri che non venga premuto decine di volte

End Sub