Hola.
Fijate que cuando terminas de visualizar el informe, haces un cierre de la conexión que, si no la volves a abrir cuando hagas click en el boton, la primera vez si va a poder acceder ya que la conexion esta abierta, pero, vos la cerras despues de mostar tus datos. lo que podes hacer es testear tu conexion antes de pedir abrir el recordset mediante la propiedad state que tiene que ser = 1 que es abierta si no esta en ese valor, abrirla.
hay otras maneras pero para que esto te sea mas rapido esta funciona.
Saludos