¿Cómo puede una conexión de datos de solo lectura a MS Excel / Access de MS Excel evitar que el archivo de MS Access se bloquee en las ediciones?

0

Mi preocupación es que uso MS Excel para hacer una conexión de datos con varios archivos de MS Access / MS Excel, pero no hay escritura involucrada. Lo único para lo que se usa la conexión de datos es para extraer datos. Pero entonces los usuarios que desean escribir en la base de datos no pueden hacerlo porque hacer una conexión de datos bloqueará los archivos de MS Access / MS Excel para las ediciones. Entonces, ¿hay alguna manera de establecer una conexión de datos de solo lectura y permitir que otros editen y guarden en el archivo?

Pherdindy
fuente

Respuestas:

0

Dependiendo de cómo esté configurando sus enlaces de datos, debería poder especificar la siguiente propiedad de enlace de datos:

Share Deny None

Ajuste Share Deny None permitirá a otros abrir el archivo de la base de datos de Access en su totalidad ReadWrite modo.

Si ya tiene una conexión que le gustaría modificar, puede usar los siguientes pasos para agregar Share Deny None a la cadena de conexión:

  • Abra 'Conexiones existentes' y seleccione la conexión que desea modificar.
  • Haga clic en 'Propiedades' y cambie a la pestaña 'Definición'.
  • En el cuadro 'Cadena de conexión' deberá agregar / modificar el siguiente valor:

Mode=Share Deny None;

Ejemplo:

Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;
Data Source=E:\Documents\Test.accdb;Mode=Share Deny None;Extended Properties="";
...
Michael Frank
fuente
Esto parece prometedor. Lo probará mañana.
Pherdindy
Si es útil, probé esto en casa y pude importar una base de datos de Access a Excel, abrir la base de datos en Access y modificar algunos valores, luego guardar y actualizar los datos en Excel y ver la actualización de la tabla con los nuevos valores de Access.
Michael Frank
Eso es lo que necesito, aunque ¿dónde puedes encontrar el Data Link Properties? En el Existing Connections No puedo encontrar ninguna opción para esto.
Pherdindy
@Pherdindy Ver mi edición a la respuesta para eso.
Michael Frank
Gracias. Esto resuelve la mitad de mi problema. La otra mitad es que cuando se usa el archivo de MS Access, está bloqueado y no puedo establecer una conexión de datos desde mi archivo de MS Excel. Aunque lo hice en una pregunta aparte porque es un tema diferente.
Pherdindy
0

Lo que estás pidiendo es una contradicción en los términos.

Lo mejor que puede hacer es guardar dos copias de los archivos, una para que sea de solo lectura y la otra actualizable, con la actualización periódica de la copia de solo lectura en momentos en que no esté en uso.

harrymc
fuente
¿Cómo los actualizo con la condición de que no está en uso? Utilizo el script xcopy y el programador de tareas de Windows para ejecutar el script cada 4:30, pero si el archivo que se conecta está abierto, fallará
Pherdindy
En lugar de copiar sobre el archivo, puede cambiar el nombre del archivo antiguo y copiarlo en el nuevo. El cambio de nombre aún funciona incluso cuando el archivo está en uso.
harrymc
Aunque necesito una solución automatizada. ¿Hay alguna manera de hacerlo sin cambiar manualmente el nombre de los archivos?
Pherdindy
Puedes añadirlo al script.
harrymc
Entonces, cuando estoy conectado a un archivo de MS Access, por ejemplo, desde mi archivo de MS Excel, ¿puedo cambiar el nombre del archivo de MS Access a un nombre diferente y luego pegar el archivo de MS Access más reciente? ¿Qué pasa si actualizo la conexión de datos? ¿Se actualizará al nuevo archivo de Access sin la necesidad de reiniciar mi archivo de MS Excel?
Pherdindy