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

Nenhum comentário:

Postar um comentário

diHITT - Notícias