Victor,
That's one of the downsides of using a StoredProc that returns multiple tables. No matter what you do, the table names will always be table, Table1, Table2, etc. However, I still recommend using Stored Procs as a "best practices" methodology. How did we solve the problem? Typed DataSets. Using Typed DataSets, we further sub-classed the auto-generated class to change the table names to meaningful names, so that now we can access them like ds.ProductList and ds.CategoryList. Do you need an example of how to do this or can you figure it out ok by yourself?
~~Bonnie