| Autor |
Tema Buscar Opciones del Tema
|
joanka
Habitual
Unido: 07/Abril/2021
Localización: Lleida
Estado: Sin conexión
Puntos: 144
|
Enviado: 23/Febrero/2023 a las 16:09 |
Hola,
Yo la forma que saco esos mensajes solo es desde el centro de confianza de Access. Si es para distribuirlo, lo mejor es proporcionar instrucciones de como hacerlo, yo intenté estos métodos pero desistí.
El problema es si a quien le envías la base de datos trabaja con Access Runtime que no es configurable. La única forma de sacar esos mensajes es instalar Access provisionalmente, configurar el centro de confianza, y volver a desinstalarlo, la configuración queda guardada usando Access Runtime.
Un saludo,
|
 |
kepakete1
Nuevo
Unido: 23/Marzo/2015
Localización: Bilbao
Estado: Sin conexión
Puntos: 41
|
Enviado: 23/Febrero/2023 a las 20:53 |
Gracias por tu atención joanka. La Base de datos esta en una intranet, es decir, en una carpeta a la que todos tenemos acceso. Hasta que no me he puesto a intentar abrirlo desde un archivo .bat o .vbs, no he tenido ningún problema. Pero ahora, por diversas circunstancias quiero abrirlo desde un archivo vbs. Y todo va bien salvo ese pequeño problema: que al abrirse la Bd, se queda sólo el icono en la barra de tareas parpadeando y es el usuario el que tiene que clicar sobre él y posteriormente darle a aceptar al tema de seguridad de macros, y a partir de ese momento todo funciona perfecto. Los usuarios más "avezados" no tendrán problema, pero como son muchos los nuevos que van pasando, se que no sería efectivo.
|
|
Nunca te rindas
|
 |
pitxiku
Colaborador
Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1536
|
Enviado: 23/Febrero/2023 a las 23:00 |
Prueba dándole el control al usuario:
Set objPPT = CreateObject("PowerPoint.Application") objPPT.Visible = True objPPT.Presentations.Open ("O:\ADM\PRESENCIA 2023\presencia.ppsx")
Set acApp = CreateObject("Access.Application") acApp.UserControl = True acApp.OpenCurrentDatabase ("O:\ADM\PRESENCIA 2023\prueba.accde")
|
|
 |
kepakete1
Nuevo
Unido: 23/Marzo/2015
Localización: Bilbao
Estado: Sin conexión
Puntos: 41
|
Enviado: 24/Febrero/2023 a las 09:25 |
|
Gracias pitxiku, pero sigue haciendo exactamente lo mismo
|
 |
kepakete1
Nuevo
Unido: 23/Marzo/2015
Localización: Bilbao
Estado: Sin conexión
Puntos: 41
|
Enviado: 24/Febrero/2023 a las 10:56 |
|
Con conseguir que me abriese la aplicación al completo, no en un icono en la barra de herramientas, seria suficiente, porque el usuario ya esta acostumbrado a aceptar el mensaje de seguridad. Al abrirse sólo como icono la mayoría no sabe que es lo que tiene que hacer.
|
|
Nunca te rindas
|
 |
joanka
Habitual
Unido: 07/Abril/2021
Localización: Lleida
Estado: Sin conexión
Puntos: 144
|
Enviado: 24/Febrero/2023 a las 20:31 |
Hola,
Has probado a cerrar el powerpoint al abrir la BD?
Set objPPT = CreateObject("PowerPoint.Application") objPPT.Visible = True objPPT.Presentations.Open ("O:\ADM\PRESENCIA 2023\presencia.ppsx")
Set acApp = CreateObject("Access.Application") acApp.Visible = True acApp.OpenCurrentDatabase ("O:\ADM\PRESENCIA 2023\prueba.accde")
objPPT.Quit
O cerrarlo desde la BD "prueba.accde", y maximizar el formulario de inicio al abrirla.
Yo creo que te lo mostraria.
|
 |
pitxiku
Colaborador
Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1536
|
Enviado: 24/Febrero/2023 a las 21:56 |
¿Tu base de datos tiene algo que debamos saber? Al abrirla, ¿se abre algún formulario modal u/o emergente?
Si no tienes ningún formulario modal en el arranque, puedes provocar desde el propio Access que se maximice la ventana con:
- Macro: EjecutarComandoDeMenú --> Acción: MaximizarAplicación - VBA: DoCmd.RunCommand acCmdAppMaximize
|
 |
kepakete1
Nuevo
Unido: 23/Marzo/2015
Localización: Bilbao
Estado: Sin conexión
Puntos: 41
|
Enviado: 26/Febrero/2023 a las 17:03 |
Ante todo perdon por no haber contestado antes, pero he tenido el finde un poco liado. Creo que resumiendo se entiende mejor el problema.PLANTEAMIENTO: Se quiere abrir una base de datos que en el momento de la apertura comprueba que hay un determinado archivo abierto. Si es así, se abre y cierra dicho archivo, sino no se abre.
METODO CON BAT: start/MIN O:\ADM\PRESENCIA 2023\presencia.ppsx TIMEOUT /T 3 /NOBREAK start O:\ADM\PRESENCIA 2023\prueba.accde PROBLEMA: Todo va perfecto, pero abre la BD en modo exclusivo, cuando es necesario que sea compartido. PD.: Aqui también hay que aceptar el mensaje de la seguridad de macros, pero como la BD se abre a pantalla completa, el usuario sabe que las tiene que aceptar
METODO CON VBS: Set acApp = CreateObject("Access.Application") acApp.UserControl = True acApp.OpenCurrentDatabase ("O:\ADM\PRESENCIA 2023\prueba.accde") PROBLEMA: Ahora sí la abre en compartido, pero abre ambos archivos (la BD y el archivo de control) en icono en la barra de tareas, por lo que es necesario que el usuario clique sobre el de la Bd y acepte la seguridad de macros para que todo siga su proceso.
|
 |
pitxiku
Colaborador
Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1536
|
Enviado: 27/Febrero/2023 a las 22:30 |
He hecho varias pruebas y no consigo que se abra la base de datos en modo exclusivo, o que se abra minimizada en la barra de tareas. Tampoco dispongo de una red para hacer pruebas, que seguramente será mi problema. Porque supongo que si tú pruebas con los 2 archivos en local, no tienes ningún problema.
Así, cosas que se me ocurren para probar:
¿La base de datos está en una ubicación de confianza para todos los usuarios? ¿Los usuarios tienen permisos para crear, escribir y borrar en la carpeta donde está la base de datos? Si una persona de IT prueba con un usuario administrador, ¿también da problemas?
Por otro lado, la última prueba la he hecho con este código en vbs: no usa automatización, le puedes indicar que abra todo maximizado (el valor 3), y hay un pequeño temporizador de 3 segundos entre las 2 aperturas, cuyo tiempo puedes ajustar. A mí me abre los 2 archivos maximizados y sin avisos de seguridad. Y la base de datos no se abre en modo exclusivo. Eso sí, la base de datos está en una ubicación de confianza:
Set objShell = CreateObject("Shell.Application") objShell.ShellExecute "C:\Users\pitxiku\OneDrive\Documents\Access\Ejemplos foros\Arranque doble\Portada.pptx", "", "", "show", 3
Inicio = Timer
Do While Timer < Inicio + 3 'DoEvents Loop
Set objShell = CreateObject("Shell.Application") objShell.ShellExecute "C:\Users\pitxiku\OneDrive\Documents\Access\Ejemplos foros\Arranque doble\Base datos.accdb", "", "", "open", 3
|
|
 |
kepakete1
Nuevo
Unido: 23/Marzo/2015
Localización: Bilbao
Estado: Sin conexión
Puntos: 41
|
Enviado: 28/Febrero/2023 a las 09:19 |
FENOMENAL !!! POR FIN.Solo he cambiado las rutas al ejemplo que has puesto y funciona todo perfectamente. No he cambiado nada más, ni el archivo .accde, ni zona de confianza ni nada. Muchas gracias pitxiku, no sabes la alegría que me has dado. Por supuesto muchas gracias a todos los demás que habéis contestado. Se puede cerrar el tema como solucionado.
|
 |