Te cuento cuando yo hago trabajos en bases de datos, me gusta dejarlo bien optimizado, y escribo bastante codigo conforme al control de los datos para guardar y realizar consultas y demas, por ese motivo yo no utilizo una conexión por medio de codigo a la bd sino se me vuelve grandisimo el codigo y cuando termino 
Permiteme discernir. El código se vuelve grandisimo es cierto, pero eso no significa que tenga que volverse confuso.
Yo fui un consumidor persistente de "conexión visual" pero siempre consumes mas recursos. Create un modulo y pon las sentencias SQL en procedimientos o funciones según sea el caso y allí tengas metidas todas las cientos de consultas que puedas tener.
Cosa que en vez de tener:
rs.Open "Select campo1, campo2, campo3, campo4 from clientes where campo1= " & IdCliente, CNN, adOpenDynamic, adLockOptimistic
tengas:
rs.Open BuscaCliente(IdCliente), CNN, adOpenDynamic, adLockOptimistic
Y como veras es fácil de entender y mantener.
Bueno al final es solo una sugerencia, si a ti te va muy bien como lo estas haciendo y realmente eres mas productivo entonces siga adelante. Yo deje de usar ese método porque empece a encontrar limitaciones en particular cuando hacia consultas complejas y en general cuando migre de Access a Firebird, pero esto ya seria un tema personal.