Por eso mismo, vas a recorrer el DataSet donde estan almacenados los nombres, lo cuales no sabemos, por ende el dataset se llenara con esa lista de nombres, ke nadie sabe, pero al recorrer el dataset, se sabran por que los podras ver en una lista. Ejemplo.
La palabra pollo en tu ejemplo anterior, no sera el nombre de la tabla, sino el nombre de la columna en tu DataSet.
Código:
dim adp as new sqldataadapter
dim ds as dataset
dim dr as datarow
adp = new sqldataadapter(" select table_name from INFORMATION_SCHEMA.Tables ", cnx)
adp.fill(ds,"MisTablas")
cnx.close
for each dr in ds.tables("mistablas").rows
List1.Items.Add(dr("table_name"))
next
asi es como deberia ser.