Access - Nuevo registro en sub-formul??

 
Vista:

Nuevo registro en sub-formul??

Publicado por Angel (9 intervenciones) el 10/08/2006 20:45:29
Hola amigos:

Tengo un botón( llamado "continuar") en un formulario
( llamado "Formulario1_INICIO_INGRESOS") con el evento
al hacer clic, hace visible un sobformulario (llamado "Formulario1_Obs_hoja_nuev_ingreso").

Mi intención es que al hacerse visible el subformulario, lo haga en un NUEVO REGISTRO.
Pero con el siguente codigo que he puesto al evento clic de este boton, cuando hago clic en el se hace visible el sub-formulario en un nuevo registro, pero.... tambien el Formulario donde está colocado el botón tambien cambia a nuevo registro con lo cual los datos puestos en el registro del formulario quedan en blanco.

Les pongo el codigo del botón para que me puedan decir donde está el fallo.
---------------------------------------------------------------------------------------------------------------

Private Sub continuar_Click()
Forms!Formulario1_INICIO_INGRESOS!Formulario1_Obs_hoja_nuev_ingreso.Visible = True
DoCmd.GoToRecord , , acNewRec
End Sub
--------------------------------------------------------------------------------------------------------------

Gracias de antemano por la ayuda.
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

Mostrar subformulario en nuevo registro sin cambiar el registro del formulario principal

Publicado por Alejandro (4142 intervenciones) el 24/07/2023 20:15:07
El problema que estás enfrentando ocurre porque estás utilizando `DoCmd.GoToRecord` para ir a un nuevo registro en el formulario principal, lo que provoca que los datos en el registro actual se pierdan. Para lograr que el subformulario se muestre en un nuevo registro sin afectar el registro del formulario principal, puedes hacer lo siguiente:

1. Elimina la línea `DoCmd.GoToRecord , , acNewRec` del código, ya que esta instrucción cambia el registro actual del formulario principal a un nuevo registro.

2. En lugar de utilizar `Visible = True` para mostrar el subformulario, utiliza `SetFocus` para establecer el enfoque en el control del subformulario y luego utiliza la propiedad `DataEntry` para ir a un nuevo registro en el subformulario sin afectar el formulario principal.

Aquí tienes el código modificado para el botón "continuar":

1
2
3
4
Private Sub continuar_Click()
    Me!Formulario1_Obs_hoja_nuev_ingreso.SetFocus
    Forms!Formulario1_INICIO_INGRESOS!Formulario1_Obs_hoja_nuev_ingreso.Form.DataEntry = True
End Sub

Con esta modificación, al hacer clic en el botón "continuar", el subformulario se mostrará en un nuevo registro, mientras que el formulario principal permanecerá en el registro actual sin perder los datos. La propiedad `DataEntry` del subformulario establece que se pueda ingresar datos solo en un nuevo registro sin afectar el registro actual del formulario principal.

Espero que esta solución te sea útil y resuelva el problema que estás enfrentando. ¡Buena suerte!
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