que bien se entiende cuando explicas lo que quieres no?
solo aparece una vez el "TEMA_NOMBRE" porque esta fuera del while, si estuviera dentro del while aparecería varias veces....
entonces
opcion 1
usas condicionantes dentro del while
- algo asi como
- crear una variable
- colocarle el contenido de TEMA_NOMBRE
- si al entrar de nuevo al while es igual, no se imprime, hasta que sea diferente
- tomar las consideraciones necesarias para tus variables de impresión
opcion 2
hacer dos recorsert
- primer recordset que imprima en rs TEMA_NOMBRE
- dentro de el while del primer recordset que imprima las que pertenezcan a TEMA_NOMBRE
- cerrar segundo recordset
- loop al 1 primer recordset
suerte