You could even go a huge step further and link the data source to a CASE -tool, such as xCase, which would be the central repository of database design as well as the nitty-gritty (field labels, masks, value domains, etc.), as well as data integrity stuff such as cascading deletes.I've used this type of interface in my Foxpro development (xCase and Visual Promatrix -framework), and it is awesome, to say the least. Your entire data dictionary is managed by the case tool, and you can reuse any table, any field and any relationship as many times as you want without having to establish the nitty-gritty stuff over and over again. What a huge timesaver that is.
Pertti