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 FunctionExemplo 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 -
André Luiz Bernardes
bernardess@gmail.com
http://al-bernardes.sites.uol.com.br/