SANDWICH PROJECT 2016 - VBA Access: Deletando tabelas e querys programaticamente

SANDWICH PROJECT 2016 - VBA Access: Deletando tabelas e querys programaticamente





























 Aprenda: 17 Passos Essenciais para Melhorar seu Código VBA 


Quando estamos criando múltiplas tabelas atualizáveis dinamicamente no MS Access e as disponibilizando para consultas externas como no próprio Access, Excel, Word ou Powerpoint, por vezes precisaremos checar se os seus respectivos nomes já existem e em caso positivo deletá-las.

Uma funcionalidade para tal execução no próprio MS Access, através do nome da tabela, é a que descrevo abaixo:


    Function CheckTable (nTable As String)
        ' André Bernardes             06/06/2008 07:23    bernardess@gmail.com

        Dim db As Database
        Dim i As Integer

        Set db = DBEngine.Workspaces(0).Databases(0)

        db.TableDefs.Refresh

        For i = 0 To db.TableDefs.Count - 1
            If nTable = db.TableDefs(i).Name Then
                DoCmd.DeleteObject acTable, nTable      ' Table Exists.

                Exit For
            End If
        Next i

        Set db = Nothing
    End Function


Para deletarmos Querys, utilizaríamos:


Function CheckQuery (nQuery As String)
    ' André Bernardes             30/04/2009 11:26    bernardess@gmail.com

    Dim db As Database
    Dim i As Integer

    Set db = DBEngine.Workspaces(0).Databases(0)

    db.QueryDefs.Refresh

    For i = 0 To db.QueryDefs.Count - 1
        If nQuery = db.QueryDefs(i).Name Then
            DoCmd.DeleteObject acQuery, nQuery      ' Query Exists.

            Exit For
        End If
    Next i

    Set db = Nothing
End Function


Ei! Envie seus comentários e sugestões de artigos. Compartilhe este artigo com seus chefes, colegas de trabalho e amigos.

Nenhum comentário:

Postar um comentário

diHITT - Notícias