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