Not sure how you give one recordset 2 different variable names, or even why - you'd be no further ahead as they'd have the same fields anyway? However, I've never encountered this situation and would be surprised that you could create this without raising an error in the recordset. As an experiment, I'd loop over the recordset fields and debug.Print each field name to see what you have (unless you're already sure of that). It may be that Access automatically gave one of the dupes an alias. Or On that note, I'd also experiment with giving one of the fields an alias in the sql and see if the recordset uses the alias you give it or sticks with the field name.
I'd also venture that you cannot refer to the table when referencing the recordset as the table name is not part of the recordset fields collection. If you referred to a stored query instead, perhaps you could include the table name or the alias that Access would automatically give it as it would any normal query.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.