Prova così, assegnando un cursore lato client anche al secondo
recordset.
codice:
    rs.CursorLocation = adUseClient
    rs.Open "Select * from [acconti_cliente]", con, 3, 3
    rs.MoveFirst 
        Do
            'Set res = con.Execute("Select * from acconti_cliente where ragionesociale = '" & rs.Fields("ragionesociale").Value & "'")
            res.Open "Select * from acconti_cliente where ragionesociale = '" & rs.Fields("ragionesociale").Value & "'", con, 3,3
            If res.RecordCount = 0 Then GoTo Loppata
Ciao,