Compartilhar via


Método Fields.Append (DAO)

Aplica-se ao: Access 2013, Office 2013

Adiciona um novo Field à coleçãoFields.

Sintaxe

expressão . Append(Object)

expressão Uma variável que representa um objeto Fields.

Parâmetros

Nome

Necessária/opcional

Tipo de dados

Descrição

Object

Obrigatório

Object

Uma variável de objeto que representa o campo sendo acrescentado à coleção.

Comentários

Você pode usar o método Append para adicionar uma nova tabela ao banco de dados, um campo a uma tabela ou um campo a um índice.

O objeto acrescentado torna-se um objeto persistente, armazenado em disco, até que seja excluído utilizando o método Delete.

A adição de um novo objeto ocorre imediatamente, mas você deve usar o método Refresh em qualquer outra coleção que possa ser afetada pelas alterações na estrutura do banco de dados.

Se o objeto que você está acrescentando não estiver completo (como quando você não acrescentou um objeto Field a uma coleção Fields de um objeto Index antes de ele ser acrescentado a uma coleção Indexes) ou se as propriedades definidas em um ou mais objetos subordinados estiverem incorretas, a utilização do método Append causará um erro. Por exemplo, se você não especificou um tipo de campo e tentou acrescentar o objeto Field a uma coleção Fields em um objeto TableDef, a utilização do método Append aciona um erro em tempo de execução.

Exemplo

Este exemplo usa o método Append ou Delete para modificar a coleção Fields de um TableDef. O procedimento AppendDeleteField é necessário para que esse procedimento seja executado.

    Sub AppendX() 
     
     Dim dbsNorthwind As Database 
     Dim tdfEmployees As TableDef 
     Dim fldLoop As Field 
     
     Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
     Set tdfEmployees = dbsNorthwind.TableDefs!Employees 
     
     ' Add three new fields. 
     AppendDeleteField tdfEmployees, "APPEND", _ 
     "E-mail", dbText, 50 
     AppendDeleteField tdfEmployees, "APPEND", _ 
     "Http", dbText, 80 
     AppendDeleteField tdfEmployees, "APPEND", _ 
     "Quota", dbInteger, 5 
     
     Debug.Print "Fields after Append" 
     Debug.Print , "Type", "Size", "Name" 
     
     ' Enumerate the Fields collection to show the new fields. 
     For Each fldLoop In tdfEmployees.Fields 
     Debug.Print , fldLoop.Type, fldLoop.Size, fldLoop.Name 
     Next fldLoop 
     
     ' Delete the newly added fields. 
     AppendDeleteField tdfEmployees, "DELETE", "E-mail" 
     AppendDeleteField tdfEmployees, "DELETE", "Http" 
     AppendDeleteField tdfEmployees, "DELETE", "Quota" 
     
     Debug.Print "Fields after Delete" 
     Debug.Print , "Type", "Size", "Name" 
     
     ' Enumerate the Fields collection to show that the new 
     ' fields have been deleted. 
     For Each fldLoop In tdfEmployees.Fields 
     Debug.Print , fldLoop.Type, fldLoop.Size, fldLoop.Name 
     Next fldLoop 
     
     dbsNorthwind.Close 
     
    End Sub 
     
    Sub AppendDeleteField(tdfTemp As TableDef, _ 
     strCommand As String, strName As String, _ 
     Optional varType, Optional varSize) 
     
     With tdfTemp 
     
     ' Check first to see if the TableDef object is 
     ' updatable. If it isn't, control is passed back to 
     ' the calling procedure. 
     If .Updatable = False Then 
     MsgBox "TableDef not Updatable! " & _ 
     "Unable to complete task." 
     Exit Sub 
     End If 
     
     ' Depending on the passed data, append or delete a 
     ' field to the Fields collection of the specified 
     ' TableDef object. 
     If strCommand = "APPEND" Then 
     .Fields.Append .CreateField(strName, _ 
     varType, varSize) 
     Else 
     If strCommand = "DELETE" Then .Fields.Delete _ 
     strName 
     End If 
     
     End With 
     
    End Sub