No vabbè non mi sono spiegato bene, explorer.exe non è in vba quindi devi passare il percorso direttamente, non puoi mettere una variabile come parametro perchè il file explorer.exe non lo prevede, (infatti il comando vba shell() fa solo una chiamata ad un file nulla di più. Girando in rete, se a qualcuno serve, ho trovato questo codice e funziona:


Sub EseguiComando(ByVal Comando As String)

Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run Comando
Set WshShell = Nothing

End Sub

chiamata cosi: call eseguicomando me.path (dove me.path è il nome del
controllo contenente il path)
Se il percorso, poi , contiene spazi (maledetti spazi XD) bisogna modificare un attimino il codice inserendo i delimitatori chr(34) perchè con alcune versioni di access non funza. Se non avete cartelle che hanno spazi nel nome non c'è comunque problema e funziona sempre

esempio
WshShell.Run Chr(34) & "C:\Documents and
Settings\Ospite\Documenti\nomeFile.txt" & Chr(34)

ciaoooo, finalmente un forum tecnico con delle risposte sensate XD