Error en el código ???

Dudas sobre código
Pepe MA
Nivel 1
Mensajes: 9
Registrado: Sab Jun 18, 2022 9:53 pm

Error en el código ???

Mensajepor Pepe MA » Mié Jun 22, 2022 11:52 am

Buenos días amigos.
Intento hacer que mi base de datos arranque ocultando Access, que arranque con un formulario directamente.
El formulario que debe abrirse es "Formudiscos".
Para ello, he visto un par de videos donde explican bastante bien el proceso a seguir.
1º.- Crear un pequeño formulario de nombre "Formulario1" donde se incluye el siguiente código:

Option Explicit

Const SW_HIDE = 0
Const SW_NORMAL = 1
Const SW_MINIMIZED = 2
Const SW_MAXIMIZED = 3

Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Sub Form_Open(Cancel As Integer)
Call ShowWindow(hWndAccessApp, SW_HIDE)
DoCmd.OpenForm "Formudiscos", windowmode:=acDialog
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim lngRetCode As Long
lngRetCode = ShowWindow(hWndAccessApp, SW_MAXIMIZED)
End Sub


Este código lo copio y lo pego en el evento "Al abrir", eliminando primero todo lo que muestra el generador de códigos, que así es cómo dicen hay hacerlo.
2º.- Especificar en las opciones de Acces que muestre el formulario "Formulario1" al abrir.

El asunto es que cierro la base de datos, abro desde el archivo correspondiente y funciona todo perfectamente, pero si vuelvo a cerrarlo ya no se abre más. Deja el otro archivo "laccdb" con un candadito y ya no hay manera de poder abrir el otro archivo "accdb".
No sé qué es lo que pasa porque lo hago exactamente igual que como lo explican.
Por favor, si alguien puede ayudarme se lo agradeceré.
Saludos

Avatar de Usuario
Neckkito
Moderador
Mensajes: 1226
Registrado: Dom Oct 25, 2015 3:42 pm

Re: Error en el código ???

Mensajepor Neckkito » Mié Jun 22, 2022 3:12 pm

Independientemente de lo que otra gente pudiera decirte sobre el tema yo solo quisiera hacerte una pequeña reflexión: Access es una ventana contenedora de ventanas, y así está pensado para un funcionamiento "normal".

Lo que tú intentas hacer es "forzar" algo para lo que no está preparado. Y eso implica que después empezarás con problemas de que "no se me abre el formulario", "se abre pero no se ve", "el informe queda detrás de...", etc., etc., etc.

Lógicamente lo anterior es simplemente mi punto de vista, pero mi recomendación sería que te dejaras de códigos de llamadas a las API'S (por cierto, el día de mañana que cambies a Access 64bits el código que muestras no te va a funcionar sin retoques) y que utilizaras Access de una manera ortodoxa.

Solo como comentario.

Saludos
Access MVP 2017-2022
http://bit.ly/NckAccess

Pepe MA
Nivel 1
Mensajes: 9
Registrado: Sab Jun 18, 2022 9:53 pm

Re: Error en el código ???

Mensajepor Pepe MA » Mié Jun 22, 2022 6:01 pm

Buenas tardes.
Gracias por tus sugerencias amigo Neck, sólo pretendía tener un entorno más... "simpático", por llamarlo de alguna manera. Pero según lo que me dices, voy a obtener resultados más nocivos que beneficiosos, así que mejor me olvido del entorno simpático.
Asunto terminado
Gracias, muy amable.
Un abrazo.

Avatar de Usuario
Neckkito
Moderador
Mensajes: 1226
Registrado: Dom Oct 25, 2015 3:42 pm

Re: Error en el código ???

Mensajepor Neckkito » Jue Jun 23, 2022 3:08 pm

Prueba, en una copia de tu base de datos, a realizar las siguientes operaciones:

- Saca las Opciones de Access -> Base de datos actual -> Opciones de aplicación: ahí puedes ponerle el título de la aplicación que quieras y puedes, en la opción "Mostrar formulario", seleccionar el formulario que se cargará automáticamente al iniciar Access.

- En la misma ventana, en Navegación, puedes desmarcar el check "mostrar panel de navegación"

- En la misma ventana, en Opciones de barra de herramientas y cinta de opciones, puedes desmarcar los check de "Permitir el uso de menús no restringidos" y "Permitir el uso de menús contextuales predeterminados". El desmarcar estas dos opciones, o una de ellas, o ninguna, es para que puedas restringir más o menos el acceso a menús de Access. Para lo que pretendo conseguir no es necesario desmarcar nada, pero está bien que sepas que existen estos dos niveles adicionales de restricción.

Una vez configurado lo anterior te vas al formulario que has indicado que iba cargarse al iniciar Access y en su evento "Al cargar" le generas este código:

Código: Seleccionar todo

DoCmd.ShowToolbar "Ribbon", acToolbarNo


Y con esto cierras la base de datos y la vuelves a abrir, a ver si te gusta como queda.

Si necesitas, por tener que trabajar con la base como administrador, acceder a la cinta de opciones de Access, lo único que tienes que hacer es, en la ventana inmediato del VBE, escribir

Código: Seleccionar todo

DoCmd.ShowToolbar "Ribbon", acToolbaryes


Lógicamente también podrías cambiarla en el código del formulario y abrirlo, y dejarlo así hasta que dejes de necesitar ver el ribbon, con lo cual lo vuelves a situar en actoolbarno.

Ya nos comentarás. Un saludo.
Access MVP 2017-2022
http://bit.ly/NckAccess

Pepe MA
Nivel 1
Mensajes: 9
Registrado: Sab Jun 18, 2022 9:53 pm

Re: Error en el código ???

Mensajepor Pepe MA » Jue Jun 23, 2022 5:50 pm

Hola, buenas tardes Neck.
Jo, pués me he quedao planchao.
Madre mía !!, cuánto sabes maestro.
El resultado es perfecto, es que mi hijo también toca la base de datos y es un manazas, como su padre lo arregla casi tó pués... viva la Pepa.
Aprovechando la coyuntura: Neck, por favor, cómo puedo hacer para que al abrirse el formulario, se muestre como la imagen 2, que no muestre todo el espacio vacío de la derecha que se ve en la imagen 1.
Muchísimas gracias, y sobre todo por el tiempo en contestar tan detalladamente.

Imagen

Un abrazo.
Saludos

Avatar de Usuario
Neckkito
Moderador
Mensajes: 1226
Registrado: Dom Oct 25, 2015 3:42 pm

Re: Error en el código ???

Mensajepor Neckkito » Jue Jun 23, 2022 11:01 pm

Por favor, no utilices hilos con un tema para pedir después otras cosas: piensa que eso no ayuda a otros usuarios que quizá pudieran tener una cuestión similar y que no encuentran la respuesta porque el título del hilo no tiene nada que ver.

Así pues, por favor, abre otro hilo relacionado con tu última consulta.

Gracias por tu comprensión.
Access MVP 2017-2022
http://bit.ly/NckAccess

Pepe MA
Nivel 1
Mensajes: 9
Registrado: Sab Jun 18, 2022 9:53 pm

Re: Error en el código ???

Mensajepor Pepe MA » Vie Jun 24, 2022 11:09 am

Buenos días.
Sí, perdón, lo siento. No volverá a ocurrir.
Saludos


Volver a “Código VBA”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados