Hola
Pues la verdad no se me ocurre cual puede ser la razón, te pongo el código que utilizo yo y que me funciona perfectamente.
Código:
Dim cnnExterna As New ADODB.Connection
Dim rstExterno As New ADODB.Recordset
Dim reg As New ADODB.Recordset
Dim strSQL As String
Dim ruta As String
ruta = App.Path & "\prueba.mdb"
strSQL = "Select * from tbl_datos"
cnnExterna.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & ruta & ";Persist Security Info=False"
rstExterno.CursorLocation = adUseClient
rstExterno.Open strSQL, cnnExterna, adOpenDynamic, adLockOptimistic
Set grd_datos.DataSource = rstExterno
grd_datos.AllowUpdate = True
--Saludos--