I have implemented this on my company's intranet for Systems Management Server. I use stored procedures for the queries and a single table holds the definitions for all the drilldown structures. I use hidden fields and a single recursive asp page to query down as deep as the drilldown structure allows the user to go. It works extremely well and adding new drilldowns is fairly easy and doesn't necessitate a change in the html/script to implement.
Here is the table def for the drilldown...
Relationship - int - The family of the drilldown
ZOrder - int - The order of the query within the drilldown
Name - varchar(128) - The name of the drilldown query
DescriptionCurrent - varchar(512) - The description of the query
DescriptionNext - varchar(512) - The description of the next query
SQLQuery - varchar(1024) - The query itself. In my table this starts with SP:, SQL:, SCR: to define a stored procedure, SQL Query, or Script function to execute.
Example of SQLQuery is SP:ddsp_AllUsers x,2. In my routine the x tells the asp script to query for whatever the user clicked on and the 2 allows the stored procedure to filter it with whatever the user clicked on 2 queries ago. The stored procedures make use of variables to accomplish this and my asp page keeps a history of the queries the user makes.
If this all sounds very confusing, it is. It took me awhile to create this routine but it does work very well.
You don't have to open the connection again but you do have to close the recordset before you re-use it.
Hope this helps, [sig]<p>Rob<br><a href=mailto:robschultz@yahoo.com>robschultz@yahoo.com</a><br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
"Focus on the solution to the problem,<br>
not the obstacles in the way."<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[/sig]