Imprimir página | Cerrar ventana

Navegar entre formularios

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84847
Fecha de impresión: 16/Febrero/2020 a las 21:11


Tema: Navegar entre formularios
Publicado por: rocjfl-b
Asunto: Navegar entre formularios
Fecha de publicación: 21/Noviembre/2019 a las 21:38
Hola a todos.
Simultáneamente tengo abiertos varios formularios divididos.
Como puedo, por código, ir de un formulario a otro ?.
Saludos.



Respuestas:
Publicado por: teogf
Fecha de publicación: 21/Noviembre/2019 a las 22:42
Hola, 

En vba hay varias formas. Algunas de ellas son:

- Form_frmFormularioPrueba.setfocus
- Forms!frmFormularioPrueba.setfocus
- Forms!frmFormularioPrueba.Form.setfocus
- Docmd.SelectObjetc acForm, "frmFormularioPrueba"

Y alguno más habrá que se me escapa.





Publicado por: rocjfl-b
Fecha de publicación: 21/Noviembre/2019 a las 23:39
Gracias teogf.
Desde un botón de comando del Formulario_A:

Private Sub comand100_Click()
If EstaCargado("Formulario_B") then
Docmd.SelectObject as Form, "Formulario_B"
endif
End sub

No consigo ir al Formulario_B



Publicado por: mounir
Fecha de publicación: 21/Noviembre/2019 a las 23:53
Hola!

Private Sub comand100_Click()
   If EstaCargado("Formulario_B") then
    DoCmd.OpenForm "Formulario_B"
   End If
End Sub


Edito:-
Método DoCmd. SelectObject lo que hace es seleccionar un objeto (Puede usar el método SelectObject para seleccionar un objeto de base de datos especificado.
La acción SeleccionarObjeto funciona con cualquier objeto de Access que pueda recibir el enfoque. Esta acción asigna el enfoque al objeto especificado y muestra el objeto si está oculto.)


-------------
Un Saludo.


Publicado por: rocjfl-b
Fecha de publicación: 22/Noviembre/2019 a las 06:48
¡ Funciona mounir, muchas gracias !,  no creí que para ir a un formulario ya abierto tendría que utilizar un método para volver abrirlo.
Gracias teogf.
Un saludo a todos.
Se puede cerrar el hilo


Publicado por: mounir
Fecha de publicación: 22/Noviembre/2019 a las 10:11
Hola!

No me había dado cuenta de que los formularios están abiertos, entonces tu código hay un mínimo error y por eso no te funcionaba:

Docmd.SelectObject as Form, "Formulario_B"

donde pone "as Form" debes poner "AcForm"
quedaría:

Private Sub comand100_Click()
     If EstaCargado("Formulario_B") then
        Docmd.SelectObject acForm, "Formulario_B"
     End If
End Sub



-------------
Un Saludo.


Publicado por: rocjfl-b
Fecha de publicación: 27/Noviembre/2019 a las 22:16
Gracias de nuevo mounir
Se puede cerrar el hilo



Imprimir página | Cerrar ventana