Automating the generation and maintenance of typical data entry/browse/query forms/screens can be a huge time-saver and code debloater. The trick is to make the easy stuff easy without limiting the ability to customize and tweek fields as needed. You know, the ol' 80/20 rule.
I actually build a simple query screen tool. Except for the messy routine that actually built the SQL it was pretty clean.
Everything was driven off of three tables. The first listed the tables they could search, and other table level options. Then there where two small data dictionaries. One listed fields that you could search on, and the other had the formating for the output. You probably would have liked it.
Unfortunatly, I never had time to explain or document it, so I was the only person that could setup new tables too query. It ended up getting axed in the new system because the person doing the report screens didn't understand it, and replaced it with something harder to use, uglier and does half as much.
Jay