Para hacerlo parametrizable, yo guardaría algo así en la Base de datos, (supongo que es más o menos lo que has hecho) quizás te aporte algo:
Tabla de configuración:
Código:
Name Valor
TabsheetNames articulos, proveedores, ventas
sqlarticulos select codigoArticulo, descripcion from articulos
sqlproveedores select codigoprov, nombre from proveedores where %s
sqlventas select codigoVenta, codigo Articulo from ventas where %s
Para guardar los nombres de los tabsheet, te puedes ayudar del CommaText de un StringList
Se supone que cada tabsheet tendrá un Query asociado al grid, y guardamos el sql de cada uno de esas querys.
Saludos