Compartilhar via


Evento Form.BeforeInsert (Access)

O evento BeforeInsert ocorre quando o usuário digita o primeiro caractere em um novo registro, mas antes do registro é realmente criado.

Sintaxe

expressão. BeforeInsert (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 BeforeInsert ocorrerá. Definir o argumento Cancelar como True (1) cancela o evento BeforeInsert .

Comentários

Observação

[!OBSERVAçãO] Definir o valor de um controle por meio de uma macro ou do Visual Basic não dispara esses eventos.

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

Use um procedimento de evento ou macro AfterInsert para requerer um conjunto de registros sempre que um novo registro for adicionado.

Os eventos BeforeInsert e AfterInsert são semelhantes aos eventos BeforeUpdate e AfterUpdate . Esses eventos ocorrem na seguinte ordem:

BeforeInsertBeforeUpdateAfterUpdateAfterInsert

A tabela a seguir resume a interação entre esses eventos.

Evento Ocorre quando
BeforeInsert O usuário digita o primeiro caractere em um novo registro.
BeforeUpdate O usuário atualiza o registro.
AfterUpdate O registro é atualizado.
AfterInsert O registro atualizado é um novo registro.

Se o primeiro caractere em um novo registro for digitado em uma caixa de texto ou caixa de combinação, o evento BeforeInsert ocorrerá antes do evento Alterar .

Exemplo

Este exemplo mostra como você pode usar um procedimento de evento BeforeInsert para verificar se o usuário deseja criar um novo registro e um procedimento de evento AfterInsert para requerer a fonte de registro do formulário Employees depois que um registro for adicionado.

Para experimentar o exemplo, adicione o procedimento de evento a seguir a um formulário chamado Funcionários com base em uma tabela ou consulta. Alterne para o modo de folha de dados de formulário e tente inserir um registro.

Private Sub Form_BeforeInsert(Cancel As Integer) 
 If MsgBox("Insert new record here?", _ 
 vbOKCancel) = vbCancel Then 
 Cancel = True 
 End If 
End Sub 
 
Private Sub Form_AfterInsert() 
 Forms!Employees.Requery 
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.