Evento Form. BeforeInsert (Access)Form.BeforeInsert event (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.The BeforeInsert event occurs when the user types the first character in a new record, but before the record is actually created.

SintaxisSyntax

expresión. AntesDeInsertar (Cancelar)expression.BeforeInsert (Cancel)

expresión Variable que representa un objeto Form.expression A variable that represents a Form object.

ParámetrosParameters

NombreName Obligatorio/opcionalRequired/Optional Tipo de datosData type DescripciónDescription
CancelCancel ObligatorioRequired IntegerInteger El valor determina si se produce el evento BeforeInsert.The setting determines if the BeforeInsert event occurs. Si se establece el argumento Cancel en true (1), se cancela el evento BeforeInsert .Setting the Cancel argument to True (1) cancels the BeforeInsert event.

ComentariosRemarks

Nota

Cuando se establece el valor de un control con una macro o con Visual Basic, no se activan estos eventos.Setting the value of a control by using a macro or Visual Basic doesn't trigger these events.

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].To run a macro or event procedure when these events occur, set the BeforeInsert or AfterInsert property to the name of the macro or to [Event Procedure].

Puede usar una macro o procedimiento de evento AfterInsert para volver a consultar un conjunto de registros siempre que se agregue un nuevo registro.You can use an AfterInsert event procedure or macro to requery a recordset whenever a new record is added.

Los eventos BeforeInsert y AfterInsert son similares a BeforeUpdate y AfterUpdate .The BeforeInsert and AfterInsert events are similar to the BeforeUpdate and AfterUpdate events. El orden en que ocurren es el siguiente:These events occur in the following order:

BeforeInsertBeforeUpdateAfterUpdateAfterInsertBeforeInsertBeforeUpdateAfterUpdateAfterInsert

En la tabla siguiente se resume la interacción entre estos eventos:The following table summarizes the interaction between these events.

EventoEvent Se produce cuandoOccurs when
BeforeInsertBeforeInsert El usuario escribe el primer carácter de un nuevo registro.User types the first character in a new record.
BeforeUpdateBeforeUpdate El usuario actualiza el registro.User updates the record.
AfterUpdateAfterUpdate El registro se actualiza.Record is updated.
AfterInsertAfterInsert El registro actualizado es nuevo.Record updated is a new record.

Si el primer carácter de un nuevo registro se escribe en un cuadro de texto o cuadro combinado, el evento BeforeInsert se produce antes del evento Change .If the first character in a new record is typed into a text box or combo box, the BeforeInsert event occurs before the Change event.

EjemploExample

En este ejemplo se muestra cómo se puede usar un procedimiento de evento BeforeInsert para comprobar que el usuario desea crear un nuevo registro y un procedimiento de evento AfterInsert para volver a consultar el origen de registros del formulario empleados después de que se haya agregado un registro.This example shows how you can use a BeforeInsert event procedure to verify that the user wants to create a new record, and an AfterInsert event procedure to requery the record source for the Employees form after a record has been added.

Para probar el ejemplo, agregue el procedimiento de evento siguiente a un formulario denominado Employees ( empleados ) basado en una tabla o consulta.To try the example, add the following event procedure to a form named Employees that is based on a table or query. Pase a la vista Hoja de datos del formulario e intente insertar un registro.Switch to form Datasheet view and try to insert a record.

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 comentariosSupport and feedback

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación?Have questions or feedback about Office VBA or this documentation? 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.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.