Para abrir una carpeta necesitas conocer su ruta exacta, si no, mal asunto...
No me queda demasiado claro qué es lo que preguntas. Si lo que quieres es, por ejemplo, abrir una carpeta que está en la misma carpeta (o en cualquier subcarpeta dentro de ella) en la que está la base de datos, puedes usar rutas relativas, con Application. CurrentProject. Path (que devuelve el directorio donde está la BD).
Ejemplo: supongamos que tienes, en donde tienes la BD, una carpeta "Imagenes" y dentro una carpeta "FotosProductos" y quieres abrir esta última.
Puedes poner:
Application.FollowHyperlink Application.CurrentProject.Path & "\Imagenes\FotosProductos"
o también:
Shell "explorer " & Application. CurrentProject. Path & "\Imagenes\FotosProductos"", vbMaximizedFocus
(aquí puedes cambiar el último parámetro si no la quieres maximizada)
Esta técnica de rutas relativas te servirá en cualquier ordenador, siempre, claro, que la carpeta a abrir dependa de la ubicación de la base de datos.
Si lo que quieres es indicar, en cada momento la carpeta a abrir, puedes crearte un procedimiento como alguno de éstos:
Public Sub AbreCarpeta(laCarpeta As String)
Application.FollowHyperlink laCarpeta
End Sub
Public Sub AbreCarpeta(laCarpeta As String)
Shell "explorer " & laCarpeta, vbMaximizedFocus
End Sub
Y cuando quieras abrir la carpeta:
AbreCarpeta "C:\Carpeta1\Carpeta2\Carpeta3"
Si la carpeta está en alguna de las carpetas de sistema (por ejemplo Mis Documentos), puedes recurrir a la API SHGetSpecialFolderPath (puedes ver un ejemplo aquí: http://www.elguille.info/vb/VB_API03.HTM#api03_11 ) para saber la ruta a esa carpeta de sistema y a partir de ahí, terminas de construir la ruta, de forma parecida a la técnica de ruta relativas.