Phil, la cosa è un po intrigante tecnicamente…
La funzione CurrentDb non è DAO ma un metodo di Application, conseguenza vuole che non possa direttamente essere assegnato l'oggetto Tabledef esposto da CurrentDb all'Oggetto Tabledef di DAO… cosa un poco strana volendo ma così è… forse questo suggerisce il motivo:
The CurrentDb method provides a way to access the current database from Visual Basic code
without having to know the name of the database.
After you have a variable that points to the current database, you can also access and manipulate other
objects and collections in the DAO hierarchy.
Passando invece per l'assegnazione all'oggetto DAO.Database del Riferimento del Pointer che restituisce l'istanza del Database Correntemente aperto nella finestra di Windows, ovviamente tutto si chiude come pare indicare l'estratto della Guida MSN
Tuttavia ricordo che la Classe Database è esposta sia da DAO che ADO ma Tabledef no…