
Como saber se uma Tabela existe através de código VBA
Em nossas aplicações, as vezes é necessário saber se algum objeto existe ou não para que possamos tomar uma decisão. Este é o objetivo deste artigo. Como saber se uma Tabela existe através de código VBA
Principalmente para projetos complexos que exigem uma grande quantidade de tabelas, relatórios e formulários.
Vamos mostrar 2 formas de como podemos resolver isso.
Vamos ao passo a passo.
Para isso devemos criar uma Função em um Módulo do VBA. Vá em seu teclado e aperte ALT + F11 para criarmos este módulo.
Depois de criado crie a seguinte função abaixo:
Public Function fncExisteTabela(strNomedaTabela As String) As Boolean
Dim rs As DAO.Recordset
On Error Resume Next
Set rs = CurrentDb.OpenRecordset(strNomedaTabela)
fncExisteTabela = Not Err.Number = 3078
Set rs = Nothing
End Function
O grande detalhe desta função está na linha On error Resume next no início do código. Nela o VBA prossegue com a execução, mesmo havendo erro e nenhuma mensagem é exibida .
Caso a tabela não exista, será emitido uma msg de erro 3078 que será armazenado no objeto Err.
Depois de criar esta função, podemos criar um formulário por exemplo e clicar na ação do clique do botão a seguinte expressão.
Uma outra função que podemos utilizar é quando ela percorre todas as tabelas do banco de dados, a medida que é passada por um parâmetro para um evento de um formulário, por exemplo.
Ao clicar no botão, a função recebe o nome da Tabela e percorre todas as tabelas. Assim que ela encontra ela retorna True ou False.
Public Function fncExisteTabela(strNomedaTabela As String) As Integer
Dim db As Database
Dim i As Integer
Set db = DBEngine.Workspaces(0).Databases(0)
fncExisteTabela = False
db.TableDefs.Refresh
For i = 0 To db.TableDefs.Count - 1
If strTableName = db.TableDefs(i).Name Then
fncExisteTabela = True
Exit For
End If
Next i
Set db = Nothing
End Function

Private Sub Comando0_Click()
If fncTabelaExiste("tblClientes") Then
MsgBox "Existe"
Else
MsgBox "Não Existe"
End If
End Sub
Neste caso, você pode alterar o nome da tabela da função. No meu exemplo criei uma tabela chamada “tblClientes” e assim que eu clico no botão do formulário acima, receberei uma mensagem de “Existe”.
Caso você tenha algum dúvida, coloque aqui nos comentários para que possamos ajudar.
Nos vemos no próximo artigo
Um forte abraço!
