Método Delete (Recordset do ADO)

Aplica-se ao: Access 2013, Office 2013

Exclui o registro atual ou um grupo de registros.

Sintaxe

conjunto de registros. Excluir AffectRecords

Parâmetros

Parâmetro Descrição
AffectRecords Um valor AffectEnum que determina quantos registros o método Delete afetará. O valor padrão é adAffectCurrent.

Observação

adAffectAll e adAffectAllChapters não são argumentos válidos para Delete.

Comentários

A utilização do método Delete marca o registro atual ou um grupo de registros em um objeto Recordset para exclusão. Se o objeto Recordset não permitir a exclusão de registros, ocorrerá um erro. Se você estiver no modo de atualização imediata, as exclusões ocorrem imediatamente no banco de dados. Se um registro não puder ser excluído com êxito (devido a violações de integridade do banco de dados, por exemplo), o registro permanecerá no modo de edição após a chamada a Update. Isso significa que você deve cancelar a atualização com CancelUpdate antes de mover para fora do registro atual (por exemplo, com Close, Move ou NextRecordset).

Se você estiver no modo de atualização em lote, os registros são marcados para exclusão no cache e a exclusão real ocorrerá quando você chamar o método UpdateBatch. (Utilize a propriedade Filter para ver os registros excluídos.)

A recuperação de valores de campo do registro excluído gera um erro. Depois de excluir o registro atual, o registro excluído permanecerá atual até que você mova para um registro diferente. Depois de mover para fora do registro excluído, ele não mais será acessível.

Se você aninhar exclusões em uma transação, é possível recuperar registros excluídos com o método RollbackTrans. Se você estiver no modo de atualização em lote, poderá cancelar uma exclusão pendente ou um grupo de exclusões pendentes com o método CancelBatch.

Se a tentativa de excluir registros falhar devido a um conflito com os dados subjacentes (por exemplo, um registro já foi excluído por outro usuário), o provedor retornará avisos para a coleção Errors, mas não interromperá a execução do programa. Um erro em tempo de execução só ocorrerá se houver conflitos em todos os registros solicitados.

Se a propriedade dinâmica Unique Table estiver definida e o Recordset for o resultado da execução de uma operação JOIN em várias tabelas, o método Delete excluirá linhas apenas da tabela nomeada na propriedade Unique Table.