Access - Abrir Formulario y seguir en el mismo registro

 
Vista:

Abrir Formulario y seguir en el mismo registro

Publicado por Juan Manuel (1 intervención) el 15/12/2005 16:13:20
Hola, estoy realizando un formulario donde capturo unos datos, en este creo un boton que me abra otro formulario para agregar otro dato al registro x. Actualmente cuando abro el otro formulario me pasa a registro x+1, Como hago para que en el momento de abrir el formulario este se mantenga en el registros x
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Mantener el registro actual al abrir un formulario de adición de datos

Publicado por Alejandro (4142 intervenciones) el 15/06/2023 16:47:45
Para mantener el registro actual al abrir otro formulario para agregar un nuevo dato, puedes utilizar la función `DoCmd.OpenForm` en combinación con el evento `BeforeInsert` del formulario secundario. Aquí tienes un ejemplo de cómo puedes hacerlo:

1. Abre el formulario principal en el modo diseño.

2. Haz clic en el botón que abre el formulario secundario para agregar un nuevo dato.

3. En la ficha "Eventos" del formulario principal, busca el evento "Al hacer clic" del botón y haz clic en el botón de los puntos suspensivos ( ... ) para abrir el editor de código VBA.

4. Agrega el siguiente código en el evento "Al hacer clic" del botón:

1
2
3
4
5
6
7
8
9
10
11
Private Sub TuBoton_Click()
    ' Guarda el número de registro actual
    Dim registroActual As Long
    registroActual = Me.CurrentRecord
 
    ' Abre el formulario secundario en modo de adición de datos
    DoCmd.OpenForm "NombreDelFormularioSecundario", acNormal, , , acFormAdd
 
    ' Vuelve al registro original
    DoCmd.GoToRecord acDataForm, Me.Name, acGoTo, registroActual
End Sub

Asegúrate de reemplazar "TuBoton" por el nombre real del botón que abre el formulario secundario y "NombreDelFormularioSecundario" por el nombre real del formulario secundario que deseas abrir.

El código guarda el número de registro actual antes de abrir el formulario secundario, luego abre el formulario secundario en modo de adición de datos y, finalmente, vuelve al registro original utilizando `DoCmd.GoToRecord` con el número de registro guardado.

Guarda los cambios en el formulario principal y prueba nuevamente. Ahora, al abrir el formulario secundario para agregar un nuevo dato, se mantendrá en el registro original.

Recuerda ajustar los nombres de los objetos y adaptar el código según la estructura y los nombres reales de tus formularios.

Espero que esta solución te ayude a mantener el registro actual al abrir el formulario de adición de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar