Vuoi uno stack di accesso ai dati o una collection di recordset...?
Ovviamente di Nativo non c'è nulla... ma in buona sostanza le 2 cose possono anche non essere poi così differenti...
Tutto dipende molto da cosa veramente vuoi fare.
Un punto di partenza per creare uno stack chiamate è una cosa simile:
https://hammondmason.wordpress.com/2015/03/10/creating-a-call-stack-in-vba/
Nel tuo caso, ma fai conto io non abbia capito bene, si tratterebbe di scrivere una classe, oggetto, che wrappa DAO.Recordset.
il metodo open oltre che restituire il rs inserisce in una collection la classe ed il metodo close la rimuove.
La collection ha in pancia i recordset aperti... Iterabili con
For each nomeclasse in NomeCollection
....
Next
La classe deve avere le proprietà che tu ritieni utili/necessarie come data/ora apertura e data/ora chiusura.
Puoi anche scrivere un log su close prima di rimuovere la classe dalla collection...
Insomma come ti dicevo... cosa devi fare...? In base alla tua risposta ed alla tua capacità di rielaborare codice puoi provare, con tutti i limiti del vba, a scrivere qualche cosa di probabilmente funzionante...