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 Verdadeiro (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 um procedimento de macro ou evento quando estes eventos ocorrem, defina a propriedade BeforeInsert ou AfterInsert para o nome da macro ou para [Procedimento de Evento].

Utilize um procedimento de evento ou macro AfterInsert para repetir um conjunto de registos sempre que for adicionado um novo registo.

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 caráter de um novo registo for escrito numa caixa de texto ou caixa de combinação, o evento BeforeInsert ocorre antes do evento Alterar .

Exemplo

Este exemplo mostra como pode utilizar um procedimento de evento BeforeInsert para verificar se o utilizador quer criar um novo registo e um procedimento de evento AfterInsert para repetir a origem de registos do formulário Funcionários após a adição de um registo.

Para experimentar o exemplo, adicione o seguinte procedimento de evento a um formulário denominado Funcionários baseado numa 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.