Hola y bienvenido
Lo que tienes que hacer es usar tu primer reader, cerrar la conexion, si es necesario volverlo a usar y volver a abarir y cerral tu conexion...etc..
Ejemplo. (voy a utilizar los mismo objetos connection, reader and command

)
Cita: Dim oConn As New SqlConnection(ConfigurationSettings.AppSettings("t u_conexion"))
Dim cmd As New SqlCommand("tu query", oConn)
oConn.Open()
Dim rs As SqlDataReader = cmd.ExecuteReader
If rs.Read then
...
...bla bla
End If
rs.Close()
oConn.Close()
cmd.CommandText = "otra query"
cmd.Connection = oConn
oConn.Open()
rs = cmd.ExecuteReader
If rs.Read Then
...
...blabla
End If
rs.Close()
oConn.Close()
Ahora bien si quieres ocupar varios readers tienes que declarar otro..(no el mismo, ya que se encuentra abierto)
Cita: Dim oConn1 As New System.Data.SqlClient.SqlConnection(ConfigurationS ettings.AppSettings("cadena de conexion"))
Dim oConn2 As New System.Data.SqlClient.SqlConnection(ConfigurationS ettings.AppSettings("cadena de conexion"))
Dim myCMD As SqlCommand = New SqlCommand("query",oConn1)
oConn1.Open()
Dim dr1 As SqlClient.SqlDataReader = myCMD.ExecuteReader
do while dr1.read
...
...
Dim cmd2 As New SqlClient.SqlCommand("query",oConn2 )
oConn2.Open()
Dim dr2 As SqlClient.SqlDataReader = cmd2.ExecuteReader
do while dr2.read
...
...
loop
dr2.close
oConn2.close
loop
dr1.close
oConn1.close
Espero te sirva el ejemplo