Access Runtime 365 |
Responder ![]() |
Autor | |
maserrano ![]() Colaborador ![]() Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 649 |
![]() ![]() ![]() ![]() ![]() Enviado: 20/Noviembre/2023 a las 13:30 |
Buenas tardes.
Una duda que no sé cómo resolver. Cuando intento abrir una base con access runtime en la versión 365 desde una ubicación de red no me deja acceder al no reconocer ese lugar como de confianza . Claro, al ser runtime, no tengo forma de decirle que la ubicación es de confianza. Yo, como administrador y con access pongo esa misma ruta como de confianza pero vuelve a pasar lo mismo al ejecutarlo con runtime, que no reconoce el lugar como de confianza. No sé cómo abordarlo para que se pueda abrir. Imagino que es una cuestión relacionado con que el archivo está en la red porque si ese mismo archivo (que no tiene tablas al estar separadas) lo llevo a disco local sí lo abre. Supongo que al no estar en red sí lo permite ?? Alguna idea o sugerencia?? A alguien le ha tenido que ocurrir también con esta nueva versión más restrictiva supongo ?? Gracias por adelantado.
|
|
![]() |
|
mounir ![]() Colaborador ![]() Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6464 |
![]() ![]() ![]() ![]() ![]() |
Hola!
A ver si te sirve esto:- http://www.mvp-access.com/foro/agregar-centro-de-confianza_topic85952.html |
|
Un Saludo.
|
|
![]() |
|
javier.mil ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador ![]() ![]() Unido: 10/Agosto/2005 Localización: España Estado: Sin conexión Puntos: 4798 |
![]() ![]() ![]() ![]() ![]() |
Buenas en casi todos mis programa utilizo esta rutina desde hace años y suele funcionar bastante bien ,....... OJO puede haber algun caso especial donde No funcione Option Explicit Rem Crear Zona de Confianza usando la referencia Referencias Windows Script Host Object Model Rem ES MEJOR USAR ESTE METODO SI SE VA USUAR EL RUNTIME DE ACCESS Const cPrefijo As String = "HKEY_CURRENT_USER\Software\Microsoft\Office\"
Const cSufijo As String = "\Access\Security\Trusted Locations\Location" Rem Fin Constantes++++++ 'Public Function funTest() ' ' If funCrearZonaConfianza = True Then ' MsgBox "Ok se ha creado una nueva zona de confianza", vbInformation, "Zona de Confianza" ' Else ' MsgBox "No es necesario crear la zona de confianza", vbExclamation, "Zona de Confianza" ' End If ' 'End Function Public Function funCrearZonaConfianza() As Boolean '--------------------------------------------------------------------------------------- ' Date : 23/01/2010 ' Author : Javier Gomez (Javier.Mil) ' WEB : https://www.accessdemo.info ' Procedure : funCrearZonaConfianza ' Purpose : Crea Zona de Confianza para Access 2007 , 2010 , 2013 , 2017 , 2019 utilizando "LOCATION (n)" '--------------------------------------------------------------------------------------- On Error GoTo Err_Local Dim objWshShell As Object Dim intX As Integer Dim strVersionAccess As String Set objWshShell = CreateObject("Wscript.Shell") strVersionAccess = SysCmd(acSysCmdAccessVer) If strVersionAccess = "12.0" Or strVersionAccess = "14.0" Or strVersionAccess = "15.0" Or strVersionAccess = "16.0" Or strVersionAccess = "17.0" Then Rem Access 2007 , Access 2010 , Access 2013 , Access 2016 , Access 2019 If funBuscarZonaConfianza <> CurrentProject.Path & "\" Then intX = funPrimerLocationVacio objWshShell.RegWrite cPrefijo & strVersionAccess & cSufijo & intX & "\AllowNetworkLocations", 1, "REG_DWORD" objWshShell.RegWrite cPrefijo & strVersionAccess & cSufijo & intX & "\AllowSubfolders", 1, "REG_DWORD" objWshShell.RegWrite cPrefijo & strVersionAccess & cSufijo & intX & "\Date", Format(Now(), "mm/dd/yyyy hh:mm") objWshShell.RegWrite cPrefijo & strVersionAccess & cSufijo & intX & "\Description", "Mi nueva zona de confianza" objWshShell.RegWrite cPrefijo & strVersionAccess & cSufijo & intX & "\Path", CurrentProject.Path & "\" funCrearZonaConfianza = True Else funCrearZonaConfianza = False End If End If Close_Local: Set objWshShell = Nothing Exit_Local: On Error GoTo 0 Exit Function Err_Local: funCrearZonaConfianza = False MsgBox Err.Description, vbCritical, "Error N°: " & Err.Number Resume Exit_Local End Function Private Function funBuscarZonaConfianza() As String '--------------------------------------------------------------------------------------- ' Date : 23/01/2010 ' Author : Javier Gomez (Javier.Mil) ' WEB : https://www.accessdemo.info ' Procedure : funBuscarZonaConfianza ' Purpose : Busca si existe la Zona de Confianza '--------------------------------------------------------------------------------------- On Error Resume Next Dim objWshShell As Object Dim strTemp As String Dim intX As Integer Dim strVersionAccess As String Set objWshShell = CreateObject("Wscript.Shell") strVersionAccess = SysCmd(acSysCmdAccessVer) For intX = 0 To 999 strTemp = objWshShell.RegRead(cPrefijo & strVersionAccess & cSufijo & intX & "\Path") If strTemp = CurrentProject.Path & "\" Then funBuscarZonaConfianza = strTemp Exit For End If Next intX Set objWshShell = Nothing End Function Private Function funPrimerLocationVacio() As Integer '--------------------------------------------------------------------------------------- ' Date : 23/01/2010 ' Author : Javier Gomez (Javier.Mil) ' WEB : https://www.accessdemo.info ' Procedure : funPrimerLocationVacio ' Purpose : Busca el primer Location vacio o libre '--------------------------------------------------------------------------------------- On Error Resume Next Dim objWshShell As Object Dim strTemp As String Dim intX As Integer Dim strVersionAccess As String Set objWshShell = CreateObject("Wscript.Shell") strVersionAccess = SysCmd(acSysCmdAccessVer) For intX = 0 To 999 strTemp = "" strTemp = objWshShell.RegRead(cPrefijo & strVersionAccess & cSufijo & intX & "\Path") If strTemp = "" Then funPrimerLocationVacio = intX Exit For End If Next intX Set objWshShell = Nothing End Function |
|
![]() |
|
javier.mil ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador ![]() ![]() Unido: 10/Agosto/2005 Localización: España Estado: Sin conexión Puntos: 4798 |
![]() ![]() ![]() ![]() ![]() |
En el formulario de INICIO tienes que poner esto en el Evento On Open If funCrearZonaConfianza = True Then MsgBox "Ok se ha creado una nueva zona de confianza", vbInformation, "Zona de Confianza" Else ' MsgBox "No es necesario crear la zona de confianza", vbExclamation, "Zona de Confianza" End If Editado por javier.mil - 20/Noviembre/2023 a las 19:18 |
|
![]() |
|
maserrano ![]() Colaborador ![]() Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 649 |
![]() ![]() ![]() ![]() ![]() |
Pues mañana en el curro hago las pruebas. Gracias, un saludo y, ya os cuento qué tal.
|
|
![]() |
|
joanka ![]() Habitual ![]() Unido: 07/Abril/2021 Localización: Lleida Estado: Sin conexión Puntos: 130 |
![]() ![]() ![]() ![]() ![]() |
Hola,
Yo probé mil cosas pero lo más efectivo es instalar Access provisionalmente, ir a Opciones -> Centro de confianza. Habilitar o deshabilitar las opciones de los centros de confianza, como: - Permitir que sean de confianza los documentos de una red. - Habilitar macros. - etc.. Cuando ya te funciona todo sin lanzar avisos, lo desinstalas. Esa configuración te quedará guardada aunque desinstales Access. Claro, todo esto si tienes permisos de administrador para hacerlo. Un saludo, |
|
![]() |
|
maserrano ![]() Colaborador ![]() Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 649 |
![]() ![]() ![]() ![]() ![]() |
Buenas.
He probado el código de Javier y no funciona. Bueno, no funciona con Runtime; sí en cambio con Access. Al arrancar, te salta un mensaje de que la ha creado y después lo compruebo y así es. De hecho, me la ha duplicado la misma ruta pues ya la tenía. Con runtime no te da opción a nada, sólo a cancelar (y se cierra). Parece ser que la versión de 365 es "más restrictiva". Voy a probar la opción de (si quieren en el trabajo) que instalen access provisionalmente en la máquina para crear la zona de confianza en la carpeta de red y a ver qué tal. La otra opción es que arranquen desde local, que sí lo permite. Gracias y saludos.
|
|
![]() |
|
javier.mil ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador ![]() ![]() Unido: 10/Agosto/2005 Localización: España Estado: Sin conexión Puntos: 4798 |
![]() ![]() ![]() ![]() ![]() |
Otra opción si usas solo el RunTime es ejecutar el siguiente código en un fichero VBS Es decir copias y pegas el siguiente codigo en un fichero TXT y cambias la extensión por VBS Por ejemplo le pones el nombre "ZonaDeConfianza2016.vbs" lo ejecutas antes de lanzar tu fichero de Access ' EL CODIGO Y EL USO DEL MISMO ES ** "TAL CUAL" ** ' SIN NINGUNA GARANTÍA DE NINGÚN TIPO EXPRESA ' O IMPLÍCITA, Y EL USUARIO ASUME BAJO SU PROPIO ' RIESGO Y RESPONSABILIDAD SU USO. ' DateTime : 23/01/2010 20:34 ' Ultima revision: 1/12/2018 ' Author : Copyright (c) Javier Gomez ("Javier.Mil") ' WEB : www.accessdemo.info ' Purpose : Crea Zona de Confianza para Access 2007 y Access 2010 , Access 2013 , Access 2016 utilizando "LOCATION (n)" Option Explicit Const cVersion = "16.0" Const cPrefijo = "HKEY_CURRENT_USER\Software\Microsoft\Office\" Const cSufijo = "\Access\Security\Trusted Locations\Location" Dim objWshShell Dim intX Dim strTemp On Error Resume Next Set objWshShell = CreateObject("Wscript.Shell") For intX = 0 To 999 strTemp = objWshShell.RegRead(cPrefijo & cVersion & cSufijo & intX & "\Path") If strTemp = (objWshShell.CurrentDirectory) & "\" Then Exit For End If Next If strTemp <> (objWshShell.CurrentDirectory) & "\" Then For intX = 0 To 999 strTemp = "" strTemp = objWshShell.RegRead(cPrefijo & cVersion & cSufijo & intX & "\Path") If strTemp = "" Then Exit For End If Next objWshShell.RegWrite cPrefijo & cVersion & cSufijo & intX & "\AllowNetworkLocations", 1, "REG_DWORD" objWshShell.RegWrite cPrefijo & cVersion & cSufijo & intX & "\AllowSubfolders", 1, "REG_DWORD" objWshShell.RegWrite cPrefijo & cVersion & cSufijo & intX & "\Date", Format(Now(), "mm/dd/yyyy hh:mm") objWshShell.RegWrite cPrefijo & cVersion & cSufijo & intX & "\Description", "VBScript por Javier Gomez , Mi nueva Zona de Confianza" objWshShell.RegWrite cPrefijo & cVersion & cSufijo & intX & "\Path", (objWshShell.CurrentDirectory) & "\" End If Set objWshShell = Nothing ' MsgBox "Fin Zona de Confianza creada con exito", vbOKOnly, "VBScript por Javier Gomez" Editado por javier.mil - 21/Noviembre/2023 a las 21:59 |
|
![]() |
|
maserrano ![]() Colaborador ![]() Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 649 |
![]() ![]() ![]() ![]() ![]() |
Muy buenas y perdonad por la tardanza en responder pero es que hasta que no me han concedido la petición en la Administración no lo he podido comprobar.
Después de probar bastantes códigos y demás, traté de hacer lo que me indicó "joanka". Lo que ocurre es lo que he comentado sobre la Administración... que tardan lo suyo. En fin me lo han concedido y he hecho las pruebas en un equipo donde le han quitado runtime e instalado Access 365. Le he configurado la zona de confianza (ubicación del programa en la red) y después al revés: desinstalar access y volver a poner runtime 365. Y perfecto; ahora reconoce la ruta y abre la aplicación sin problema. Solucionado. El problema es ahora mío, que tengo ta hacer una petición para cada usuario que entra en la aplicación para que le hagan esto mismo. Pero bueno, todo sea eso. Gracias a todos y el hilo se puede cerrar. Salu2
|
|
![]() |
|
javier.mil ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador ![]() ![]() Unido: 10/Agosto/2005 Localización: España Estado: Sin conexión Puntos: 4798 |
![]() ![]() ![]() ![]() ![]() |
Hola Miguel (maserrano) Antes de cerrar el hilo,........ No se quien es "joanka" perooooo por curiosidad ¿ Te ha servido alguno de mis códigos ?
|
|
![]() |
|
maserrano ![]() Colaborador ![]() Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 649 |
![]() ![]() ![]() ![]() ![]() |
Hola.
Yo tampoco sé quien es "JoanKa", pero hizo una aportación en este hilo el 21/Noviembre/2023 a las 10:17 Sí he probado el código Javier y, cuando ejecutas el formulario de inicio dice que se crea una ruta de confianza (de hecho lo compruebo y se crea): El caso es que cuando abro desde runtime no reconoce la ruta. Usé: Public Function funTest() Y en el FOrm de Inicio en el evento on Open lo que indicaste. MO 365 se ve que tanto para access como para runtime guarda en cada máquina (archivos de instalación) la ruta que creas. Así es como se ha conseguido. Salu2
|
|
![]() |
|
javier.mil ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador ![]() ![]() Unido: 10/Agosto/2005 Localización: España Estado: Sin conexión Puntos: 4798 |
![]() ![]() ![]() ![]() ![]() |
Es normal que si ejecutas el código desde ACCESS que salte el aviso solo la primera vez, ya que antes de ejecutarse el código Accesos busca si existe una zona de confianza en el registro de Windows peroooooo si quieres evitar incluso que salte el aviso la primera vez deberías lanzar primero el fichero VBS antes de ejecutar Access. De todos modos me alegro que lo hayas conseguido Editado por javier.mil - 03/Diciembre/2023 a las 22:44 |
|
![]() |
|
maserrano ![]() Colaborador ![]() Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 649 |
![]() ![]() ![]() ![]() ![]() |
Gracias Javier, pero no puedo lanzar el fichero así tal cual porque tenemos "capadas" las máquinas. Lo intenté, pero la política de seguridad no me dejó.
Salu2 |
|
![]() |
Responder ![]() |
|
Tweet
|
Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |