bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Excluir tabelas específicas

... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Excluir tabelas específicas

Antes de iniciar sua leitura, clique aqui e cadastre-se para receber comunicados sobre novos artigos.

Através da instrução FOR EACH podemos percorrer pelos objetos das diversas coleções existentes do Access, como por exemplo a coleção de formulários, tabelas, consultas, relatórios, controles e outros.

Neste caso, em particular, quero percorrer a coleção de tabelas para excluir todas as que comecem com o prefixo tmp ( tmp_tblCliente, tmp_tblFornecedores, ... ).  Adotei este prefixo tmp para identificar no meu projeto, as tabelas temporárias que preciso excluir com periodicidade.

Acompanhe os comentários do código:

Public sub fncExcluirTabelasTemporarias()
'------------------------------------------------------------
'Cria uma variável que irá retornar com os nomes das tabelas
'------------------------------------------------------------
Dim tbl As TableDef
'---------------------------------------------
'Percorre por cada objeto da coleção de tabelas
'--------------------------------------------
For Each tbl In CurrentDb.TableDefs
    '---------------------------------------------------
    'Se a tabela tiver o prefixo tmp_ ao nome, deletar
    '---------------------------------------------------
    If InStr(tbl.Name, "tmp_") > 0 Then 
        DoCmd.DeleteObject acTable, tbl.Name
    End If
Next
'Atualiza a lista de objetos
Application.RefreshDatabaseWindow
End sub

Outra situação: caso  precise excluir todas as tabelas vinculadas, basta verificar dentro do loop For Each se a propriedade connect de cada tabela está preenchida.  Observe atentamente o código abaixo:

'------------------------------------
'Deletar todas as tabelas vinculadas
'------------------------------------
For Each tbl In CurrentDb.TableDefs
   If Len(tbl.Connect & "") > 0 Then
      '-------------------------------------------------------------------
      'Excluir a tabela vinculada, identificada pela presença de valor na 
      'propriedade connect
      '-------------------------------------------------------------------
      DoCmd.DeleteObject acTable, tbl.Name
   End If
Next

Bom estudo!


 

 


Não há comentário

Envie seu comentário: