Nell'esempio che ti riporto qua sotto funziona, anche se ho un pò sviato:

codice:
    Dim strConn As String
    Dim strSQL As String
    Dim strFile As String
    
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sviluppo\prove\Access2000\anagrafica.mdb;Persist Security Info=False"
    strSQL = "Select * From clienti"
    
    Set DataGrid1.DataSource = Me.Adodc1
    
    Me.Adodc1.ConnectionString = strConn
    Me.Adodc1.RecordSource = strSQL
    
    DataGrid1.ReBind
In partica, sul mio form ho messo pure un ADOdatacontrol (invisibile) e la DataGrid la associo a questo datacontrol; poi smanetto la connessione e il recordsource del datacontrol, e indirettamente aggiorna i dati nel datagrid.
Così funziona. Se invece devi per forza usare gli oggetti recordset e connection di ADO, forse dovresti provare ad usare la DBGrid invece della DataGrid.

Ciao