Tu pregunta es quizá un poco confusa o difícil de interpretar. Lo que sí está claro es que si cambias la ruta de la carpeta tendrás que informar a Access de que esa ruta ha cambiado.
Una manera relativamente fácil de conseguirlo es la siguiente:
- Créate una tabla "TRuta" con un sólo campo llamado [RutaCpta]. Ahí guardarás la ruta de la carpeta de los archivos, añadiéndole siempre la contrabarra al final.
- En la tabla donde guardas la ruta de los archivos sólo tendrás que guardar el nombre del archivo y su extensión.
- Créate un módulo estándar y escribe esta función:
...
Public function obtengoRuta() as string
Dim laRuta as string
laRuta = dlookup("RutaCpta","TRuta")
obtengoRuta=laRuta
end sub
...
Supongamos:
1.- Que la ruta que tienes en TRuta es "C:\Datos\MisArchivos\"
2.- Que en un formulario tienes un registro y, en el campo donde te muestra (según las indicaciones que te he dado) el campo [NomArchivo] con un valor "Datos2.pdf"
3.- Que tienes un botón llamado cmdAbroArchivo (Propiedades -> Otras -> Nombre).
En el evento "Al hacer click" de ese botón deberías escribir, por ejemplo, este código:
...
Private Sub cmdAbroArchivo_Click()
Dim elArchivo as string
Dim rutaEntera as string
elArchivo=nz(me.[NomArchivo].value,"")
If elArchivo="" then exit sub 'Esto es por si no hay valor en el campo
rutaEntera=obtengoRuta & elArchivo
application.followhyperlink rutaEntera
End sub
...
Con esto, cuando cambies la ruta, la única operación que debes realizar es editar el contenido de la tabla TRuta y sustituir el valor del registro existente por el nuevo (no te olvides de la contrabarra al final).
En pocas palabras, que si ahora mueves la carpeta "MisArchivos" directamente a la unidad E:, por ejemplo, en TRutas sólo tienes que sustituir:
"C:\Datos\MisArchivos\"
por
"E:\MisArchivos\"
Y listo.
A ver si era esto lo que querías y, si lo era, a ver si te sale.