Método AddNew (ADO)
Aplica-se ao: Access 2013, Office 2013
Cria um novo registro para um objeto Recordset atualizável.
Sintaxe
conjunto de registros. AddNew FieldList, Values
Parâmetros
Parâmetro | Descrição |
---|---|
recordset | Um objeto Recordset. |
FieldList | Opcional. Um único nome, ou uma matriz de nomes ou posições ordinais dos campos no novo registro. |
Valores | Opcional. Um único valor, ou uma matriz de valores para os campos no novo registro. Se Fieldlist for uma matriz, Values também deverá ser uma matriz com o mesmo número de membros; caso contrário, ocorrerá erro. A ordem dos nomes de campo deve corresponder à ordem dos valores de campo em cada matriz. |
Comentários
Use o método AddNew para criar e inicializar um novo registro. Use o método Supports com adAddNew (valor CursorOptionEnum) para verificar se é possível adicionar registros ao objeto Recordset atual.
Depois que você chamar o método AddNew, o novo registro passará a ser o registro atual e permanecerá atual depois que o método Update for chamado. Como o novo registro é acrescentado a Recordset, uma chamada para MoveNext após Update ultrapassará o fim de Recordset, tornando EOF True. Se o objeto Recordset não oferecer suporte a indicadores, você não poderá acessar o novo registro ao passar para outro. Dependendo do tipo de cursor, talvez seja necessário chamar o método Requery para tornar o novo registro acessível.
Se você chamar AddNew durante a edição do registro atual ou a adição de um novo registro, o ADO chamará o método Update para salvar as alterações e, em seguida, criará o novo registro.
O comportamento do método AddNew depende do modo de atualização do objeto Recordset e se serão passados os argumentos Fieldlist e Values.
No modo de atualização imediato (em que o provedor grava as alterações na fonte de dados subjacente quando você chama o método Update), se você chamar o método AddNew sem argumentos, a propriedade EditMode será definida como adEditAdd (valor EditModeEnum). O provedor armazena localmente em cache qualquer alteração de valor de campo. A chamada do método Update posta o novo registro no banco de dados e redefine a propriedade EditMode como adEditNone (valor EditModeEnum). Se você passar os argumentos Fieldlist e Values, o ADO postará o novo registro imediatamente no banco de dados (nenhuma chamada de Update é necessária); o valor da propriedade EditMode não é alterado (adEditNone).
No modo de atualização em lotes (em que o provedor armazena em cache várias alterações, gravando-as na fonte de dados subjacente somente quando o método UpdateBatch é chamado), se você chamar o método AddNew sem argumentos, definirá a propriedade EditMode como adEditAdd. O provedor armazena localmente em cache qualquer alteração de valor de campo. A chamada do método Update adiciona o novo registro ao Recordset atual e redefine a propriedade EditMode como adEditNone, entretanto, o provedor não postará as alterações no banco de dados subjacente até que o método UpdateBatch seja chamado. Se você passar os argumentos Fieldlist e Values, o ADO enviará o novo registro para que o provedor o armazene em um cache; você precisará chamar o método UpdateBatch para postar o novo registro no banco de dados subjacente.