Yo desarrollo aplicaciones con Visual Basic 6.0 y utilizo Crystal Reports 7 para los reportes.
Diseño los reportes seleccionando "Datos activos" en la ficha Datos y en la caja de dialogo "Seleccione una fuente de datos" elijo la opcion "Definicion de datos" para utilizar un archivo con extensión .ttx (Tab Separated Text).
Cuando ejecuto el reporte desde el programa le asigno los recordsets al reporte y a los subreportes con la funcion SetPrivateData del objeto DatabaseTable.
El problema es que si alguno de los recordsets no tiene registros me sale un mensaje que dice "No se puede tener acceso al primer registro" y me tira el error 20527 - Error en servidor SQL
En algunos casos si un subreporte no tiene registros igual tengo que imprimir el reporte, entonces tengo que hacer dos reportes, uno con subreporte y el otro sin subreporte y elijo uno por programa de acuerdo a la cantidad de registros del recordset que tengo que asociar. Nunca lo necesité pero si tuviera que hacer un reporte con dos subreportes tendrìa que tener cuatro reportes para poder contemplar todas las posibilidades.
Intenté condicionar la impresión del reporte y de los subreportes tildando la casilla "Suprimir impresión si no hay registros" pero me sigue dando el mismo error.
Agradecería mucho que alguien me dé alguna idea de como resolver el problema.