Share via


Evento Form.BeforeInsert (Access)

El evento BeforeInsert se produce cuando el usuario escribe el primer carácter de un nuevo registro, pero antes de que el registro se cree realmente.

Sintaxis

expresión. BeforeInsert (Cancelar)

expresión Variable que representa un objeto Form.

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Cancel Obligatorio Integer El valor determina si se produce el evento BeforeInsert. Al establecer el argumento Cancel en True (1), se cancela el evento BeforeInsert .

Comentarios

Nota:

Cuando se establece el valor de un control con una macro o con Visual Basic, no se activan estos eventos.

Para ejecutar una macro o un procedimiento de evento cuando se produzcan estos eventos, establezca la propiedad BeforeInsert o AfterInsert en el nombre de la macro o en [Procedimiento de evento].

Use un procedimiento de evento o una macro AfterInsert para volver a consultar un conjunto de registros cada vez que se agregue un nuevo registro.

Los eventos BeforeInsert y AfterInsert son similares a los eventos BeforeUpdate y AfterUpdate . El orden en que ocurren es el siguiente:

BeforeInsertBeforeUpdateAfterUpdateAfterInsert

En la tabla siguiente se resume la interacción entre estos eventos:

Evento Se produce cuando
BeforeInsert El usuario escribe el primer carácter de un nuevo registro.
BeforeUpdate El usuario actualiza el registro.
AfterUpdate El registro se actualiza.
AfterInsert El registro actualizado es nuevo.

Si el primer carácter de un nuevo registro se escribe en un cuadro de texto o un cuadro combinado, el evento BeforeInsert se produce antes del evento Change .

Ejemplo:

En este ejemplo se muestra cómo puede usar un procedimiento de evento BeforeInsert para comprobar que el usuario quiere crear un nuevo registro y un procedimiento de evento AfterInsert para volver a consultar el origen del registro para el formulario Empleados después de agregar un registro.

Para probar el ejemplo, agregue el siguiente procedimiento de evento a un formulario denominado Employees que se basa en una tabla o consulta. Pase a la vista Hoja de datos del formulario e intente insertar un 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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.