Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

Views

VBA Access - Removendo campos programaticamente

Remove Fields From MDB programmatically

O código VBA abaixo será usado para remover um campo de uma tabela do MS Access através da codificação VBA.

Sobre a função: Aceitará três parâmetros

1. Database Path - O caminho completo da base de dados MS Access

2. TableName - O nome correto da tabela do MS Access de onde o
campo será removido.

3. FieldName - O nome do campo a ser removido.

Function RemoveFieldFromMSACCESSTable (ByVal AccessDBPath, _
                                       ByVal AccessTableName As String, _
                                       AccessFieldName As String _
                                      ) As Boolean

  ' Declaração das variáveis.
  Dim AccessDB As Database
  Dim AccessDBPath As Variant
  Dim Td As TableDef

  On Error Resume Next


  ' Informa o Path do MS Access DB, baseado na TableName.

  ' Abre a base de dados.
  Set AccessDB = OpenDatabase(AccessDBPath) 'if linked table       

  If Err <> 0 Then           
    ' Caso falhe, retorna a base de dados.

    Exit Function       
  End If   


  ' Retorna a tabela.   
  Set Td = AccessDB.TableDefs(AccessTableName)   

  If Err <> 0 Then       
    ' caso falhe obtém a tabela.       

    GoTo End   
  End IF

  ' Deletando o campo.
  With Td       
    ' Deleta o campo.       
    .Fields.Delete AccessFieldName       

    If Err <> 0 Then           
      ' Caso falhe a deleção do campo - possivelmente não existe.           

      GoTo End       
    End If   
  End With   

  Let RemoveFieldFromMSACCESSTable = True ' O Default é False caso tenha falhado.


  ' Limpa.
End:   
  Set Td = Nothing   

  ' Close the Database   
  If Not AccessDB Is Nothing Then AccessDB.Close   

  Set AccessDb = Nothing
End Function

Exemplo do uso:
Public Sub RemoveField ()

' Exemplo da chamada:
If (RemoveFieldFromMSACCESSTable ( "C:\Bernardes\A&A.mdb", "Clientes", "TimeStamp") Then

MsgBox "Campo removido com sucesso!"

End If

End Sub
 

A chamada acima é utilizada para excluir de "C:\Bernardes\A&A.mdb", o nome da tabela é Clientes, e o nome do campo é "TimeStamp"
 
 
Twitter: @officespecialis
             @brzexceldevelop
             @brzaccessdevel


Veja também:
Blog Office VBA

LinkWithinBrazilVBAAccessSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine