Hola
snowdogs, para crear botones dinamicos tienes que construirlos por codigo, ahora si quieres construirlos en base a una consulta, lo que puedes hacer es, almacenar tu consulta en un datatable y luego esa recorrerla con un For o For Each y en cada recorrido crearlo de esta manera :
Código vb:
Ver original'Hago el recorrido al DataTable
For Each fila As DataRow In DataTable.Rows
'Creo el boton
Dim MiBoton As New Button
'Declaro el nombre del boton para diferenciar de los demas
MiBoton.Name = "btn" & fila("ID").ToString()
'Le indico el texto a mostrar
MiBoton.Text = Fila("Descripcion").ToString()
'Le paso los valores de Tamaño
MiBoton.Size = New Size(Convert.ToInt32(Fila("TamanoX")), Convert.ToInt32(Fila("TamanoY")))
'Le paso la ubicacion a mostrar dentro del formulario
MiBoton.Location = New Point(Convert.ToInt32(Fila("PosicionX")), Convert.ToInt32(Fila("PosicionY")))
'Finalmente agregamos el boton al formulario
Me.Controls.Add(MiBoton)
Next
Saludos!

.