** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - fSetAccessWindow and Ribbon en Access 2016
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradofSetAccessWindow and Ribbon en Access 2016

 Responder Responder Página  12>
Autor
Mensaje
VayaCaló Ver desplegable
Habitual
Habitual


Unido: 16/Septiembre/2008
Localización: España
Estado: Sin conexión
Puntos: 113
Enlace directo a este mensaje Tema: fSetAccessWindow and Ribbon en Access 2016
    Enviado: 04/Febrero/2018 a las 23:37
Saludos,

Base de datos(2016) oculta mediante el famoso  fSetAccessWindow(0) 

Problema: No hay manera de visibilizar el "Ribbon" al desocultar la base


En un formulario tengo un botón de comando que sirve para acceder en modo programador
Caracteristicas: Modal true y Emergente True

Private Sub CmdProg_Click()
    Dim PASSWORD
    PASSWORD = InputBox(" ", "Acceso de Programador ??, en caso contrario dejar en blanco(pulsa enter).")
    If PASSWORD = "123" Then
                 Call fSetAccessWindow(3) ' aqui desoculto la pantalla de access
                 ShowReportRibbon
                 UnHideNavigationPanel
                 DoCmd.Close acForm, Me.NAME
    End If
End Sub

Public Function ShowReportRibbon()
If CommandBars("Ribbon").Height <= 100 Then
   CommandBars.ExecuteMso "MinimizeRibbon"
   'DoCmd.ShowToolbar "Ribbon", acToolbarYes  esto lo añadi porque no hay manera de que funcione
End If
End Function

Public Function UnHideNavigationPanel()
    DoCmd.SelectObject acTable, , True
End Function

Alguna propuesta?

Arriba
Chea1 Ver desplegable
Moderador
Moderador


Unido: 20/Noviembre/2005
Localización: España
Estado: en línea
Puntos: 4010
Enlace directo a este mensaje Enviado: 05/Febrero/2018 a las 11:50
Supongo que se trata de un Accde, pues de lo contrario no tendrías que hacer nada para que se mostrase el Ribbon. Y si tuvieras un Ribbon personalizado establecido como Ribbon de la aplicación, tampoco. Si no es así, el problema puede estar en lo que hagas con el Ribbon al abrir la aplicación.

Prueba a ejecutar DoCmd.ShowToolbar "Ribbon", acToolbarYes   antes de llamar a ShowReportRibbon, pues, si no se muestras, mal puede devolver la altura.
Saludos
José Bengoechea Ibaceta
Mi página

Mi otra página
Arriba
VayaCaló Ver desplegable
Habitual
Habitual


Unido: 16/Septiembre/2008
Localización: España
Estado: Sin conexión
Puntos: 113
Enlace directo a este mensaje Enviado: 05/Febrero/2018 a las 17:25
Saludos,

No, es accdb y no hago nada con el ribbon mas alla de fSetAccessWindow(SW_HIDE) ya que todo lo hago sin usar los menus de access

y no hay manera de que funcione.... lo último:

            Call fSetAccessWindow(SW_MAXIMIZE)
            DoEvents
            DoCmd.Close acForm, Me.NAME
            DoCmd.RunMacro "OpenRibbon"

"OpenRibbon":

Public Function EntraEnProgramacion() 
   DoCmd.SelectObject acTable, , True 
   DoEvents 
   If Application.CommandBars("Ribbon").Height <> 0 Then 
                  DoCmd.ShowToolbar "Ribbon", acToolbarYes 
                  Call CommandBars.ExecuteMso("MinimizeRibbon") 
                  Call CommandBars.GetPressedMso("MinimizeRibbon") 
   End If 
   Call SendCtrlF1 
End Function 
 
Public Sub SendCtrlF1() 
   Const KEYEVENTF_KEYUP As Long = &H2 
   keybd_event vbKeyControl, 0, 0, 0 
   keybd_event vbKeyF1, 0, 0, 0 
   keybd_event vbKeyF1, 0, KEYEVENTF_KEYUP, 0 
  keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0 
End Sub

sólo consigo que se vea el "Menu Bar"

Gracias 

Arriba
Chea1 Ver desplegable
Moderador
Moderador


Unido: 20/Noviembre/2005
Localización: España
Estado: en línea
Puntos: 4010
Enlace directo a este mensaje Enviado: 06/Febrero/2018 a las 09:00
A ver si está aquí la clave: https://support.office.com/en-us/article/show-or-hide-the-ribbon-in-office-d946b26e-0c8c-402d-a0f7-c6efa296b527?ui=en-US&rs=en-US&ad=US#_showall&ID0EAABAAA=2013,_2016

Ahora mismo no tengo Access 2016 a mano y no lo puedo probar.
Saludos
José Bengoechea Ibaceta
Mi página

Mi otra página
Arriba
VayaCaló Ver desplegable
Habitual
Habitual


Unido: 16/Septiembre/2008
Localización: España
Estado: Sin conexión
Puntos: 113
Enlace directo a este mensaje Enviado: 08/Febrero/2018 a las 15:16
Saludos,

Pues tampoco ...  y tiro la toalla respecto a este asunto, porque parece que no hay solución y ya estoy "jartico" de modificar el orden del codigo, introducir nuevos codigos de prueba, y buscar y buscar...

- El orden de las llamadas, ocultar-desocultar, refrescar ...etc,  no afecta y no resuelve el problema
 
Una vez que que llama a FSetAccessWindow(SW_HIDE) sólo puedes aplicar 

DoCmd.ShowToolbar "Status Bar", acToolbarYes
DoCmd.SelectObject acTable, , True

para ver la barra de menus lateral izquierda, cualquier comando sobre "Ribbon" no opera, parece ser.
ni enabled, ni visible, ni ná, de ná.

Curiosamente la aplicación que url indico si la aplica, perooooooo... una vez integrado en access 2016 la cosa no vá.

https://access-programmers.co.uk/forums/showthread.php?p=1539350
Arriba
ceac Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 05/Octubre/2007
Localización: Colombia
Estado: Sin conexión
Puntos: 1464
Enlace directo a este mensaje Enviado: 08/Febrero/2018 a las 21:00
Será que no funciona en Access 2016?
La función fSetAccessWindow, trabaja bien en Access 2010.
Por que se código funciona en Access de 32 bits, en el de 64 bits no creo por que llama librerías de 32.

Por otro lado:
"A recommended method is to make a call to fSetAccessWindow with SW_SHOWNORMAL from your error handlers."

«Todos morimos, pero sólo unos pocos viven de verdad» Mel Gibson - Corazón Valiente

Arriba
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 1870
Enlace directo a este mensaje Enviado: 09/Febrero/2018 a las 19:17
Hola,

No sé si funciona con A2016 ya que no lo tengo, pero creo recordar que cuando estuve probando la ocultación de la ventana de access y al tener algún problemilla, vi un código de no recuerdo el nombre que lo que hace es hacerlo trasparente (puede que sea del Guille) pero tendría que buscarlo, seguro que hay gente más avanzada que yo que lo recuerda.



Saludos, ximo
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana
Arriba
VayaCaló Ver desplegable
Habitual
Habitual


Unido: 16/Septiembre/2008
Localización: España
Estado: Sin conexión
Puntos: 113
Enlace directo a este mensaje Enviado: 10/Febrero/2018 a las 14:39
No funciona en 2016 , en 2010 y resto todo OK


Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: España
Estado: Sin conexión
Puntos: 10193
Enlace directo a este mensaje Enviado: 10/Febrero/2018 a las 14:46
Solo una pregunta ... ¿ese Access 2016 no será un 64 bits?


Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
VayaCaló Ver desplegable
Habitual
Habitual


Unido: 16/Septiembre/2008
Localización: España
Estado: Sin conexión
Puntos: 113
Enlace directo a este mensaje Enviado: 10/Febrero/2018 a las 14:48
No... mi ordenata es 32

He puesto como solución provisional Application.VBE.MainWindow.Visible = True para poder acceder al id de programación, pero claro me deja a medias ya que no veo los menus integrados de propiedades del formulario

Gracias a todos.


Arriba
VayaCaló Ver desplegable
Habitual
Habitual


Unido: 16/Septiembre/2008
Localización: España
Estado: Sin conexión
Puntos: 113
Enlace directo a este mensaje Enviado: 13/Febrero/2018 a las 11:52
Muestra en ...

https://drive.google.com/file/d/1iMmbKmi-cPCnCXmPJZC8U4EYOa9oG6GK/view?usp=sharing


Arriba
javier.mil Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Agosto/2005
Localización: España
Estado: Sin conexión
Puntos: 4211
Enlace directo a este mensaje Enviado: 13/Febrero/2018 a las 20:06
Hola Angel Miguel

De forma rápida y sin entrar analizar el codigo ....... Solo para que No desesperes.....
Yo uso Access 2016 en algunas aplicaciones fSetAccessWindow y me funciona bien mostrando y ocultado la ventana madre y los ribbons,..........

El ultimo ejemplo que has postedado efectivamente fSetAccessWindow No chuta bien......

Pero creo que tienes mucho código que puede interferir en la funcion de fSetAccessWindow
Empezaria con un simple base nueva y vacía
simplemente pondría la función  fSetAccessWindow y veria si funciona o No funciona

luego seguiría con tu base y empezaría comentado todas las lineas que puedan interferir , y volvería a probar

otra cosa:
Tu Pc es de 32 perooooooo tu Access de cuantos bits es ?
Arriba
VayaCaló Ver desplegable
Habitual
Habitual


Unido: 16/Septiembre/2008
Localización: España
Estado: Sin conexión
Puntos: 113
Enlace directo a este mensaje Enviado: 14/Febrero/2018 a las 18:09
He creado una base de datos limpia y con sólo las llamadas a  fSetAccessWindow,  despues de seguir peleandome con la cosa, cambiando el orden de los factores y probando diversas cosas  he llegado a la siguiente conclusión... ( sometida a criticas.)

En un formulario "Panel" emergente y modal( no hay más codigo en toda la base):

Ocultame:
      Call fSetAccessWindow(SW_SHOWHIDE)
        DoEvents

desocultame:

Call fSetAccessWindow(SW_SHOWMAXIMIZED) 
        DoEvents
        DoCmd.Close acForm, Me.NAME
        ShowRibbon
        ShowNavigationPane
        DoCmd.OpenForm "Panel"



Lo que no funciona es la clausula HIDE parece ser, porque hay una aplicación de UtterAccess que con SW_SHOWMINIMIZE.... funciona....pero.... no es lo que quiero


Mi access 32 y ordenador 32

gracias
Arriba
javier.mil Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Agosto/2005
Localización: España
Estado: Sin conexión
Puntos: 4211
Enlace directo a este mensaje Enviado: 14/Febrero/2018 a las 20:05
Buenas

No es SW_SHOWMINIMIZE
es     
SW_SHOWMINIMIZED (falta la D final)

Con HIDE No se,............  pero con SW_HIDE = 0  que suele ser el nombre de la contante habitual Si funciona


Public Const SW_HIDE = 0 

Arriba
VayaCaló Ver desplegable
Habitual
Habitual


Unido: 16/Septiembre/2008
Localización: España
Estado: Sin conexión
Puntos: 113
Enlace directo a este mensaje Enviado: 15/Febrero/2018 a las 16:58
;)) gracias por las correcciones, perooooo... el codigo esta bien escrito, aunque la transcripción aqui nó, las llamadas al mismo són correctas.

No funciona al ocultar, si funciona al minimizar

Arriba
 Responder Responder Página  12>
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable