Compartilhar via


Evento Form.Delete (Access)

Ocorre quando o usuário executa alguma ação, como pressionar a tecla Excluir, para excluir um registro, mas antes que o registro seja realmente excluído.

Sintaxe

expressão. Excluir (Cancelar)

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

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Cancel Obrigatório Integer A configuração determina se o evento Delete ocorrerá. Definir o argumento Cancelar como True (1) cancela o evento Delete .

Comentários

Para executar uma macro ou procedimento de evento quando esses eventos ocorrerem, defina a propriedade OnDelete, BeforeDelConfirm ou AfterDelConfirm como o nome da macro ou para [Procedimento de Evento].

Depois de ser excluído, um registro é armazenado em um buffer temporário. O evento BeforeDelConfirm ocorre após o evento Delete (ou, se você excluiu mais de um registro, depois de todos os registros serem excluídos, com um evento Delete ocorrendo para cada registro), mas antes de a caixa de diálogo Confirmar Exclusão ser exibida. Cancelar o evento BeforeDelConfirm restaura o registro ou os registros do buffer e impede que a caixa de diálogo Confirmar Exclusão seja exibida.

O evento AfterDelConfirm ocorre após um ou mais registros serem realmente excluídos ou após uma ou mais exclusões serem canceladas. Quando o evento BeforeDelConfirm não é cancelado, o evento AfterDelConfirm ocorre após a caixa de diálogo Confirmar Exclusão ser exibida. O evento AfterDelConfirm ocorrerá, mesmo se o evento BeforeDelConfirm será cancelado. O evento AfterDelConfirm retorna informações de status sobre a exclusão. É possível, por exemplo, usar uma macro ou um procedimento de evento associado ao evento AfterDelConfirm para recalcular totais afetados pela exclusão dos registros.

Quando você cancela o evento Delete, os eventos BeforeDelConfirm e AfterDelConfirm não ocorrem, e a caixa de diálogo Confirmar Exclusão não é exibida.

Observação

Os eventos BeforeDelConfirm e AfterDelConfirm não ocorrem e a caixa de diálogo Excluir Confirmar não será exibida se você limpar a caixa de seleção Alterações de Registro em Confirmar na guia Avançado da caixa de diálogo Opções de Acesso , disponível escolhendo o botão Microsoft Office e escolhendo Opções de Acesso.

Executando uma macro ou um procedimento de evento quando ocorre o evento Delete, você pode impedir que um registro seja excluído ou permitir que um registro a ser excluído somente sob certas condições. Você também pode usar um evento de exclusão para exibir uma caixa de diálogo perguntando se o usuário deseja excluir um registro antes de serem excluído.

Para excluir um registro, você pode escolher Excluir Registro no menu Editar . Isso exclui o registro atual (o registro indicado pelo seletor de registro). Você também pode escolher o seletor de registro ou escolher Selecionar Registro no menu Editar para selecionar o registro e, em seguida, pressionar a tecla Excluir para excluí-lo. Se você escolher Excluir Registro, o seletor de registro do registro atual ou Selecionar Registro, os eventos Exit e LostFocus para o controle que tem o foco ocorrer. Quando você altera os dados no registro, os eventos BeforeUpdate e AfterUpdate ocorrem para o registro antes dos eventos Exit e LostFocus. Se você escolher o seletor de registro de um registro diferente, o evento Atual para esse registro também ocorrerá.

Depois de excluir o registro, o foco passa para o próximo registro após o registro excluído e o evento Atual para esse registro ocorre, seguido pelos eventos Enter e GotFocus para o primeiro controle nesse registro.

O evento BeforeDelConfirm então ocorre, antes do Microsoft Access exibe a caixa de diálogo Confirmar exclusão que solicita a confirmação da exclusão. Após você responder à caixa de diálogo Confirmar ou cancelar a exclusão, o evento AfterDelConfirm ocorrerá.

Você pode excluir um ou mais registros por vez. O evento Delete ocorre após cada registro é excluído. Isso permite que você acesse os dados em cada registro antes de ele é realmente excluído e confirmar ou cancelar seletivamente cada exclusão no Excluir macro ou procedimento de evento. Quando você exclui mais de um registro, o evento Current para o registro após o último registro excluído e os eventos Enter e GotFocus para o primeiro controle neste registro não ocorrem até que todos os registros sejam excluídos. Em outras palavras, um evento Delete ocorre para cada registro selecionado, mas nenhum outro evento ocorrerá até que todos os registros selecionados sejam excluídos. Os eventos BeforeDelConfirm e AfterDelConfirm também não ocorrerão até que todos os registros selecionados sejam excluídos.

Exemplo

O exemplo a seguir mostra como você pode impedir que um usuário exclua registros de uma tabela. Para testar este exemplo, adicione o procedimento de evento a seguir a um formulário que seja baseado em uma tabela. Alterne para o modo de folha de dados do formulário e tente excluir um registro.

Private Sub Form_Delete(Cancel As Integer) 
    Cancel = True 
    MsgBox "This record can't be deleted." 
End Sub

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.