Como fazer um looping por todas as tabelas MS Access – VBA

Eu tenho um banco de dados MS Access com muitas tabelas e sem integridade referencial configurada (foreign-keys). Cada vez que eu faço um teste de inserção em todas as tabelas, tinha que abrir uma a uma e ir deletando os registros, até fazer a pequena instrução abaixo em VBA.

Como fazer um looping por todas as tabelas de um banco de dados MS Access deletando todos os seus registros:

Public Sub limpaBanco()
 Dim db As DAO.Database
 Dim tbl As DAO.TableDef
 Dim field As DAO.field
 Dim sql As String

 Set db = CurrentDb

 For Each tbl In db.TableDefs
 'Looping por todas as tabelas que não sejam de sistema
 If InStr(1, tbl.Name, "MSys") = False Then
 'Debug.Print tbl.Name
   sql = "delete from " & tbl.Name
   db.Execute sql
 End If
 Next

 'fecha e tira da memória a referência do objeto.
 db.Close
 Set db = Nothing
End Sub

Outros posts de MS Access
Anúncios
Nota | Esta entrada foi publicada em MS Access, Visual Basic 6.0 e VBA com as etiquetas , , , . ligação permanente.

Uma resposta a Como fazer um looping por todas as tabelas MS Access – VBA

  1. Paulo Roberto diz:

    Gostaria de fazer alguns trabalho no access.sou fã do access

    Gostar

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s