>I guess my question is, am I trying to make my program too powerfull?
Yes, IMO, you've got at least 2 or 3 large, virtually insurmountable problems ahead of you. Perhaps you can do something like I do with very large tables for query-displaying in grids:
In my case, the user must input, for example, at least two chars on a field (like Name) search to narrow the result set down. They get a "string too short" type of message otherwise, and no query is run.
Doing something like this will exponentially reduce your output set, if that'll work. Perhaps you can also add an automated and forced "upper bound" selection to your user-query, based on the input value, to force a size limitation.
The Anonymous Bureaucrat,
and frankly, quite content not to be
a member of either major US political party.