Réponse acceptée !
Ah moins de faire une classe qui soit une sorte d'adaptateur entre ces deux recordsets, je vois pas trop comment faire autrement : vu que tu n'as pas de notion d'héritage en VB, les deux recordset en question sont bien différents.
L'astuce : faire une classe qui possède un recordset DAO, un recordset ADO et qui possède les fonctions communes dont tu as besoin : moveNext, EOF, etc.
Ainsi, ta fonction renvoie une instance de cette classe, et elle, selon si elle possède un recordset ADO ou DAO, appelle les bonne méthodes.