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
-
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
André Luiz Bernardes
bernardess@gmail.com
http://al-bernardes.sites.uol.com.br/
Nenhum comentário:
Postar um comentário