Fai attenzione, il Name ed il ControlSource sono 2 cose molto differenti a livello concettuale.
Le 2 Proprietà POSSONO coincidere se hai nominato il controllo come il controlSource, ma la proprietà da usare è ControlSource non Name.
Ad esempio se come fanno molti nomini la TextBox [txtCampoData] ed il Campo Associato è [CampoData] comprendi che il Campo del Recordset non lo trovi se usi [txtCampoData].
Ora veniamo al perchè non funzionava… che forse è meglio comprendere.
La classe ActiveControl è GENERICA e non espone la proprietà ControlSource, motivo per il quale serve assegnare il controllo Generico al controllo specifico cosi, ipotizzando si tratti di TextBox:
Dim mtxt As Access.TextBox
Set mtxt = Screen.ActiveControl
Debug.Print Me.RecordsetClone.Fields(mtxt.ControlSource).Type
La classe TextBox espone tutto quello che ti serve, e la proprietà ControlSource è quella che indica il Nome del Campo.