En ocasiones se necesita copiar datos entre datatables, aqui pongo una manera facil de poder hacer estas operaciones.

Primero se declaran 2 datatables, el primero obtendra los resultados de un query, y por consecuencia tendra un numero determinado de columnas, se pone un ciclo para copiar el numero de columnas al 2do datatable y posteriormente se hace el copiado de datarows entre ambos

Dim DataTableLeer As New DataTable
Dim DataTableLeer2 As New DataTable
Dim selectcmd As New SqlClient.SqlDataAdapter

Dim conn As New SqlClient.SqlConnection(String.Format(“Data Source='{0}’;Initial Catalog='{1}’;User Id= ‘{2}’;Password ='{3}’;”, server, database, username, password))

conn.Open()
DataTableLeer.Clear()

selectcmd = New SqlClient.SqlDataAdapter(String.Format(“Select * from tabla “), conn)
selectcmd.Fill(DataTableLeer)

For i As Integer = 0 To DataTableLeer.Columns.Count – 1
DataTableLeer2.Columns.Add(DataTableLeer.Columns(i).ColumnName)
Next

DataTableLeer2.Rows.Add(DataTableLeer.Rows(0).ItemArray)

espero sea de utilidad

saludos