Bueno hay que ver si tienes algun DataSet(llámese éste ADODataSet,ADOQuery,etc) que no se ésta ocupando en nada pues tranquilamente puedes usarlo y cambiar su propiedad SQL o ComandText para hacer una consulta SQL espefíca en la BD.
![Wink](http://www.clubdelphi.com/foros/images/smilies/wink.gif)
, pero si por el contrario todos estan ocupados(por así decirlo) pues debes Instanciar(create) o utilizar otro.
![Wink](http://www.clubdelphi.com/foros/images/smilies/wink.gif)
, cosa que lo veo que es lo mejor en tu caso, ya que segun veo quieres cambiar dinamicamente la consulta SQL e ir mostrando los resultados en un DBGrid, para lo cual debes crearte un DBGrid Específico donde mostrarías los datos que hagas dinamicamente. al cambiar y ejecutar las consultas SQL, éste DBGrid mostraría los cambios y nuevos datos.
![Wink](http://www.clubdelphi.com/foros/images/smilies/wink.gif)
Saludos...
![Smilie](http://www.clubdelphi.com/foros/images/smilies/smile.gif)
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7