Eliminare il contenuto di tutte le tabelle di un database Access
A volte è necessario svuotare completamente il database senza perdere la struttura del database stesso.
In caso il database contenga molte tabelle farlo a mano è operazione lunga oppure è necessario automatizzare l'operazione, in questi casi è sufficiente creare un modulo in VBA ed eseguirlo.
Creare un nuovo modulo VBA come segue.
Sub Svuota ()
Dim Dbs As Database
Dim tbl As TableDef
Set Dbs = CurrentDb
For Each tbl In Dbs.TableDefs
If Mid(tbl.Name, 1, 4) <> "MSys" Then
DoCmd.RunSQL "Delete from " & tbl.Name
End If
Next tbl
End Sub
All'esecuzione verranno ciclate e svuotate tutte le tabelle contenute nel database.
E' importante che venga mantenuta questa parte : If Mid(tbl.Name, 1, 4) <> "MSys" Then , altrimenti verranno cancellate anche le tabelle di sistema, corrompendo ll DB.
Verrà chiesta conferma di eliminazione per ogni tabella, per ovviare ciò è sufficiente non visualizzare gli avvisi di conferma di access.