Compartilhar via


Evento Form.BeforeDelConfirm (Access)

O evento BeforeDelConfirm ocorre depois que o usuário excluir para o buffer um ou mais registros, mas antes do Microsoft Access exibe uma caixa de diálogo solicitando que o usuário confirmar as exclusões.

Sintaxe

expressão. BeforeDelConfirm (Cancelar, Resposta)

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 BeforeDelConfirm ocorre. A definição do argumento de Cancel como True cancela o evento BeforeDelConfirm e impede que a caixa de diálogo Confirmar exclusão seja exibido. Se o evento for cancelado, os registros originais serão restaurados, mas o evento AfterDelConfirm ainda ocorre. Se Cancel for definido como True, o argumento Response será ignorado. Se Cancelar estiver definido como Falso (0), que é por predefinição, o valor no argumento Resposta é utilizado pelo Access para determinar o tipo de resposta ao evento Eliminar .
Response Obrigatório Integer Uma constante intrínseca que determina se o Access apresenta a caixa de diálogo Eliminar Confirmar perguntando se o registo deve ser eliminado. acDataErrContinue continua sem exibir a caixa de diálogo Confirmar exclusão. A definição do argumento de Cancel como False e o argumento Response como acDataErrContinue permite que o Microsoft Access exclua registros sem avisar o usuário. acDataErrDisplay exibe a caixa de diálogo Confirmar exclusão. O valor padrão é acDataErrDisplay.

Comentários

Para executar um macro ou procedimento de evento quando esses eventos ocorrerem, defina a propriedade BeforeDelConfirm como o nome da macro ou como [procedimento do evento].

Depois que um registro é excluído, ele é armazenado em um buffer temporário. Numa base de dados do Access, o evento BeforeDelConfirm ocorre após o evento Eliminar (ou se tiver eliminado mais do que um registo, depois de todos os registos serem eliminados, com um evento Eliminar a ocorrer para cada registo), mas antes de a caixa de diálogo Eliminar Confirmar ser apresentada. Cancelar o evento BeforeDelConfirm restaura o registro ou registros do buffer e impede que a caixa de diálogo Confirmar exclusão seja exibido.

Numa base de dados do Access, o evento AfterDelConfirm ocorre depois de um registo ou registos serem realmente eliminados ou após uma eliminação ou eliminações serem canceladas. Se o evento BeforeDelConfirm não for cancelado, o evento AfterDelConfirm ocorre depois que a caixa de diálogo Confirmar exclusão é exibida. O evento AfterDelConfirm ocorrerá, mesmo se o evento BeforeDelConfirm será cancelado.

Se cancelar o evento Delete , o evento BeforeDelConfirm não ocorre e a caixa de diálogo Eliminar Confirmar não é apresentada.

Num projeto do Access (.adp), o evento BeforeDelConfirm ocorre antes do evento Delete . Para evitar abrir transações desnecessárias no Microsoft SQL Server, o Access pede-lhe para confirmar a eliminação antes de abrir a transação. Se confirmar a eliminação, o Access abre uma transação no SQL Server, emite a instrução DELETE para eliminar o registo ou registos e aciona o evento Eliminar do formulário. Se selecionar Não quando lhe for pedido para confirmar a eliminação, o Access não abre uma transação no SQL Server para eliminar o registo e não aciona o evento Eliminar do formulário.

Observação

[!OBSERVAçãO] O evento BeforeDelConfirm não ocorrerá e a caixa de diálogo Confirmar exclusão não será exibida se você desmarcar a caixa de seleção em ConfirmarAs alterações do registro na guia Editar da caixa de diálogo Opções do Access.

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.

Depois de eliminar o registo, o foco muda para o registo seguinte após o registo eliminado e ocorre o evento Atual desse registo, seguido dos eventos Enter e GotFocus para o primeiro controlo nesse registo.

O evento BeforeDelConfirm ocorre imediatamente antes de o Access apresentar a caixa de diálogo Eliminar Confirmar a pedir-lhe para confirmar a eliminaçã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 Enter e eventos GotFocus para o primeiro controle nesse registro não ocorrem até que todos os registros são excluídos. Em outras palavras, um evento Delete ocorre para cada registro selecionado, mas nenhum outro evento ocorre até que todos os registros selecionados sejam excluídos. O evento BeforeDelConfirm não ocorre até que todos os registros selecionados sejam excluídos.

Exemplo

O exemplo a seguir mostra como você pode usar o evento BeforeDelConfirm para suprimir a caixa de diálogo Confirmar exclusão e exibir uma caixa de diálogo personalizada quando um registro é excluído. Ele também mostra como você pode usar o AfterDelConfirm procedimento de evento para exibir uma mensagem indicando se a exclusão progrediu de maneira normal ou se foi cancelada no Visual Basic ou pelo usuário.

Private Sub Form_BeforeDelConfirm(Cancel As Integer, _ 
 Response As Integer) 
 ' Suppress default Delete Confirm dialog box. 
 Response = acDataErrContinue 
 ' Display custom dialog box. 
 If MsgBox("Delete this record?", vbOKCancel) = vbCancel Then 
 Cancel = True 
 End If 
End Sub 
 
Private Sub Form_AfterDelConfirm(Status As Integer) 
 Select Case Status 
 Case acDeleteOK 
 MsgBox "Deletion occurred normally." 
 Case acDeleteCancel 
 MsgBox "Programmer canceled the deletion." 
 Case acDeleteUserCancel 
 MsgBox "User canceled the deletion." 
 End Select 
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.