ho dentro una function che apre la connessione al db e usa il page.mappath ed esattamente come per te mi dà quell'errore.
...Il mio problema è fare tornare ndietro il parametro, quindi devo usare una function... o è possibile fare tornare un paramentro con una sub?
Non mi sembra una buona idea cercare di restituire da una funzione una connection aperta. Le connection sarebbe bene crearle aprirle e chiuderle li dove servono (es. dentro una funzione che restituisce una datatable).
I parametri sono i valori passati alla funzione all'interno delle parentesi.
Una sub esegue dei comandi ma non restituisce alcun valore a differenza delle functions.

Fossi in te farei una semplice property readonly o una function che restituisce la stringa di connessione al db che poi utilizzi ogni volta che ti serve nella tua pagina per istanziare connection o passarla come parametro ai dataadapter.
es.
codice:
Private Function getConnectionString() As String
   Return "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" & page.MapPath("admin_tool.mdb") 
End Function