** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Control al pasar de Informe a Formulario
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoControl al pasar de Informe a Formulario

 Responder Responder
Autor
Mensaje
Jolkas40 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 17/Junio/2019
Localización: San Sebastián
Estado: Sin conexión
Puntos: 14
Enlace directo a este mensaje Tema: Control al pasar de Informe a Formulario
    Enviado: 23/Septiembre/2022 a las 15:56
Tengo que empezar diciendo que este tema pudiera ser continuacion de otro que ya quedó cerrado...
El tema se llamaba

Seleccionar registro desde otro formulario

Francamente aquel tema quedó resuelto. Pero le ha seguido esta nueva situacion...

Me encuentro en un Informe3 a donde he llegado desde un Formulario2.

Al terminar de imprimir ese Informe3 quiero regresar al Formulario2 al mismo Registro desde donde salí...

No lo consigo, quizás porque estoy utilizando instrucciones equivocadas...

No se si es abusar de la paciencia de todos, trayendo aqui una descripcion de lo que hago con sus macros...

Hago un resumen a "modo de diagrama de bloques" de la situacion.

1.- Abro la aplicacion en el Formulario2

2.- Selecciono un Apellido1 y me lleva al Formulario3 (me muestra Nombre, Apellido1 y Apellido2) de todos los registros que tengan el mismo Apellido1

3.- Selecciono uno de los registros mostrados y me lleva de nuevo al Formulario2 donde me muestra todos los datos de ese registro.
(He utilizado para ello la Macro1)


4.- Hago clic en un boton y se ejecuta la macro 2, que me abre el Informe3

5.- Salgo del Informe3 para regresar al Formulario2 (Macro 3)

Aquí es donde está el problema... para mí... Quiero regresar al Formulario2, al mismo registro desde el que fui al Informe3... pero no fucniona bien...

------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
Utilizo estas macros:

---------------------------------------------------------------
Macro1
Private Sub Nombre_DblClick(Cancel As Integer)

On Error Resume Next

DoCmd.OpenForm "Formulario2", , , "NumeroRegistro =" & Me!NumeroRegistro
DoCmd.Close acForm, "Formulario3"

End Sub
---------------------------------------------------------------

Macro2
Private Sub Comando73_Click()
DoCmd.OpenReport "Informe3", acViewReport, , "NumeroRegistro = " & nPuntero
DoCmd.Maximize
Salir:
Application.Echo True

End Sub
---------------------------------------------------------------

Macro3
Private Sub Comando176_Click()
Application.Echo False

On error resume next
   
DoCmd.Close 'Cierro el Informe
DoCmd.OpenForm ("Formulario2") 'Abro el Formulario2
DoCmd.GoToRecord acDataForm, "Formulario2", acGoTo, nPuntero
    'Pretendo que vaya al Registro que tenga el NumeroRegistro igual al nPuntero
    'pero parece que con el GotoRecord no se puede...

Application.Echo True
End Sub
----------------------------------------------------------

------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------

 Gracias una vez mas.
Saludos cordiales.
Jolka40


Arriba
Jolkas40 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 17/Junio/2019
Localización: San Sebastián
Estado: Sin conexión
Puntos: 14
Enlace directo a este mensaje Enviado: 27/Septiembre/2022 a las 11:35
Quiero hacerme presnte de nuevo en el Foro, para aclarar que ya he resuelto el problema que habia planteado.
Cometia el error de cerra el Formluario2 cuando pasaba al Informe para imprimir el registro, y de esa manera ya no tenia posibilidad de establecer el valor de nPuntero2 = CurrentRecord
Solucion: en lugar de cerrar el Formulario2 he ocultado el Formulario2 con esta instruccion: Me.Visible = False
De esa manera he podido establecer el valor de la variable nPuntero2 que he utilizado en la linea de "regreso" desde el Informe3 al Formulario2, de esta manera:
DoCmd.GoToRecord acDataForm, "Formulario2", acGoTo, nPuntero2
Gracias a todos.
Doy por cerrado el tema.
Jolkas40
Saludos Cordiales.
Jolkas
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable