asi es compañero
Cita: Public Sub ListarUsuarios()
sql.CommandText = String.Format("Select Nom_Usuario from AKOTEI ORDER BY Nom_Usuario")
datos = sql.ExecuteReader()
End Sub
aki veo que estas creando un sub proceso, esto quiere decir que todo lo que uses fuera, este no lo conoce y no puede tener acceso a todo aquello a menos que crees un objeto, es decir que si abres una conexion en otro subproceso, los demas no lo conocen.
en este Sub debes abrir la conexion antes de hacer la consulta y cerrarlo despues de ejecutarla
si te fijas despues de abrir el metodo
Public Function Obtener_Apellido(ByVal APE_MEN As String)
tienes puesto
conectar()
aki estas abriendo la conexion.
Espero te ayude
Saludos