Al abrir Access se muestre únicamente el formulario de inicio

Solicito su ayuda como le hago para cuando abro Access, se muestre únicamente el formulario de Inicio.

Es decir que no se vean las barrar ni panel de navegación, como una ventana flotante, y que no muestre nada de Access, en la parte superior e inferior.

4 Respuestas

Respuesta
3

Dunia Robaina Rodriguez

Creas un nuevo modulo y agregas este código...

Option Compare Database
Option Explicit

'La Estructura del API GetWindowRect
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

'Declaramos las APIs
Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Declare PtrSafe Function GetWindowRect Lib "user32" ( _
ByVal hwnd As Long, _
lpRect As RECT) As Long
Private Declare PtrSafe Function GetDesktopWindow Lib "user32" () As Long

Private Declare PtrSafe Function CreateRectRgn Lib "gdi32" ( _
ByVal X1 As Long, _
ByVal Y1 As Long, _
ByVal X2 As Long, _
ByVal y2 As Long) As Long

Private Declare PtrSafe Function SetWindowRgn Lib "user32" ( _
ByVal hwnd As Long, _
ByVal hRgn As Long, _
ByVal bRedraw As Boolean) As Long
'Las Constantes para el API SetWindowLong
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Public Function OcultaVentanaAccess()
'Quien Oculta Access ?
'Esta funcion se la pasa el API SetWindowLong _
asignandole un nuevo Handle a la Ventana Madre de Access
Dim HwNdAccs, ReT, NewLong As Long
HwNdAccs = Application.hWndAccessApp 'Primero buscamos el Handle de Access
'Conociendo el Height del Monitor establezco el cuadro a Borrar
'Para esto debo conocer el Height del Monitor, que mas abajo lo busco
ReT = CreateRectRgn(0, 0, AltoMonitor, 0)
'Ahora rediseño la ventana con la API SetWindowRgn
NewLong = SetWindowRgn(HwNdAccs, ReT, -1)
'Conociendo el Nuevo Handle se lo paso a la ventana madre de Access
SetWindowLong HwNdAccs, GWL_EXSTYLE, NewLong Or WS_EX_LAYERED
End Function

Private Function AltoMonitor() As Long 'Busco el Height de la pantalla activa en Twips
Dim rec As RECT
Call GetWindowRect(GetDesktopWindow, rec)
AltoMonitor = CStr(rec.Right - rec.Left)
End Function

---Guardas el modulo

Y en el formulario de inicio en el evento abrir agregas la siguiente variable OcultaVentanaAccess

Me cuentas si te funciono...

Respuesta
4

Raul, por lo que entiendo, deseas que el Formulario Inicio sea el único que se vea, y simule un sistema cerrado. Para eso debes tomar en cuenta que el formulario Inicio te da el acceso a todas las partes del sistema que diseñas. Una vez que te aseguras eso, rte explico como hacerlo.

1) Vete al Menú / Archivo / Opciones... ahí busca a la izquierda donde dice Base de datos actual... dale click y busca abajo de ese menú en el subtitulo Navegación y desactiva la pestañita que dice mostrar Panel de navegación.

Con lo anterior le pides que en esa base de datos no se muestre el Panel de navegación. Para ver ese cambio será posible cuando reinicies el sistema. Si deseas verlo rápido, vete a Menú / Herramientas de base de datos / y dale click en la parte que dice Compactar y Reparar base de datos. Listo!

2) Si deseas que el formulario se vea como "flotando", entonces antes de hacer el punto anterior, dale con botón derecho al formulario Inicio dale vista en diseño, abre la hoja de propiedades y vete a la pestaña TODAS, fíjate que en la lista de opciones está la tercera que dice: Emergente, dale que sí. Eso significa que sobre sale de los demás... y si deseas que sea único y los otros no se muestren entonces dale Sí a Modal. Te recomiendo que pruebes y veas cual te conviene más.

3) Si no deseas ver nada del menú "arriba", eso es ocultar la barra de menú de Access, y eso puedes hacerlo con un cógido sencillo. Vete al Menú principal de Access en la pestaña Herramientas de base de Datos, busca el texto que dice "Visual Basic", dale click y te lleva al entorno de programador, no le temas, sigue. En la pestaña que dice Insertar, dale clcik y dale Módulo, luego pega este código:

Option Compare Database
Option Explicit
Public Function OcultaBarras() ' Este es para ocultar el Menú
Application.CommandBars("Menu Bar").Enabled = False
DoCmd.ShowToolbar "Ribbon", acToolbarNo
End Function
Public Function MuestraBarras() 'Este es para mostrar Menú de nuevo.
Application.CommandBars("Menu Bar").Enabled = True
DoCmd.ShowToolbar "Ribbon", acToolbarYes
End Function

Dale Guardar y listo.

Ahora vete al formulario Inicio, botón derecho y en la hoaj de propiedades / Evento/ Al Cargar ... Dale botón derecho /Generar / Generar Código... te abre el entorno de programación de nuevo y pega este código.

Private Sub Form_Load()
Call OcultaBarras
End Sub

Listo... cada vez que abres este formulario Inicio se oculta el Menú de Acces... esto lo aprendí aquí en este foro... y lo aplico seguido.

Espero que te sirva. Saludos. Antonio

Respuesta
4

Si bien todo lo que te ha dicho Antonio es correctísimo, si me permites un consejo, no pongas el formulario de inicio como Emergente. Es de suponer que desde el principal abrirás algún objeto tipo formulario, informe, etc., pero al ser el principal emergente lo vas a tener siempre por encima, por lo que tendrás que estar cerrándolo.

Por otro lado, si abres la base de datos con la tecla SHIFT pulsada se verá el panel de navegación. Por eso deberías anularla. Como hay cientos de páginas que explican como se anula, no me extiendo.

Y por último, con la base abierta pulsa Archivo-opciones-base de datos actual y desactiva las casillas Permitir el uso de menús... para que no accedan al diseño del formulario.

Respuesta
2

Yo estoy construyendo una aplicación en access y cuando la abro me aparece como si fuera una aplicación construida en en otro tipo de lenguaje como si estuviera compilada y no muestra nada de el entorno de access pero para ello debes llevar a cabo varias cosas como incluyendo el código que oculta el entono de access y se ve genial cualquier pregunta me puede escribir

Estas son las ventanas de inicio de sesión de mi aplicación

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas