Como hacer que un reporte muestre la informaci�n m�s actualizada

 

Fecha: 26/Ago/2003 (27/Ago/2003)
Autor: Daniel Maya Ortiz  < [email protected]  >


A partir de la publicaci�n del art�culo �C�mo abrir un reporte hecho en Crystal Reports� he recibido varias preguntas, las cuales agradezco y espero haberles dado una respuesta satisfactoria, y he notado que algunas de ellas van en relaci�n a que un reporte no muestra la informaci�n m�s reciente en la base de datos. Algunas personas tienen que abrir el reporte en Crystal Reports, hacer clic en el bot�n Actualizar y ejecutar la aplicaci�n que manda llamar al reporte para que se muestren los datos actuales de la base de datos.

Obviamente esta soluci�n al problema no es en lo m�s m�nimo aceptable, puesto que no todas las m�quinas en las que se va a instalar la aplicaci�n va a tener instalado Crystal Reports; y si as� fuera, ser�a demasiado impr�ctico para los usuarios tener que abrir Crystal Reports, hacer clic en el bot�n Actualizar y regresar a la otra aplicaci�n. Definitivamente no es una soluci�n que los usuarios est�n dispuestos a aceptar. Sin embargo, el problema no es en s� un problema, sino m�s bien es el comportamiento por default de Crystal Reports, lo que significa que podemos hacer que Crystal se comporte de una forma diferente. y lo mejor es que tan s�lo bastan unos cuantos clics para solucionar nuestro �problema�. Para este art�culo he decidido no incluir programa de ejemplo, puesto que el mejor ejemplo lo tienen ustedes: todas aquellas aplicaciones que no funcionan correctamente debido a que el reporte no muestra la informaci�n m�s actualizada son el mejor ejemplo que podemos usar.

 

LA RAIZ DEL PROBLEMA

As� que manos a la obra, comencemos por abrir ese reporte que no funciona correctamente. Una vez abierto en Crystal Reports, vayamos al men� archivo. En la siguiente figura muestro ese men�.

                                 

Encerrada en un c�rculo rojo he puesto la ra�z del �problema�: la opci�n de men� Guardar datos con el informe. El mismo t�tulo nos da una idea de lo que hace esa opci�n de men�, sin embargo deseo hacer una explicaci�n lo m�s detallada posible sobre esta opci�n.

�Qu� sucede cuando esta opci�n est� activa?

Lo que sucede es que cada vez que actualizamos el reporte Crystal Reports lanza el query a la base de datos, toma el recordset que se le manda como respuesta, organiza los datos y los muestra en pantalla. Sin embargo, adem�s de eso, deja los datos del recordset en memoria, y cada vez que mandamos guardar el reporte Crystal guarda esos datos dentro del mismo archivo RPT. De manera que cuando mandamos llamar el reporte desde nuestra aplicaci�n Crystal no lanza el query a la base de datos, sino que muestra los datos que est�n guardados dentro del mismo archivo RPT. Por eso mismo, cada vez que mandamos llamar al reporte desde nuestra aplicaci�n se muestran los mismos datos y no los que actualmente est�n en la base de datos.

�Qu� sucede cuando esta opci�n est� inactiva?

Cuando esta opci�n no est� activa, Crystal Reports descarta los datos que tiene en memoria a la hora de guardar el reporte. Esto hace que el archivo RPT disminuya en tama�o, y esta disminuci�n depende obviamente del total de datos que haya regresado la consulta; pero por lo general estamos hablando de unos cuantos Kilobytes. Por lo tanto cada vez que mandemos mostrar el reporte desde nuestra aplicaci�n, Crystal lanzar� el query a la base de datos y organizar� y desplegar� el reporte en pantalla, si es el caso. Esto quiere decir que si ejecutamos nuestra aplicaci�n en un entorno de red y mandamos mostrar el reporte, esto se traducir� en un viaje de ida y vuelta hacia el servidor, de ida con el query a ejecutar y de regreso con los datos que se van a mostrar en el reporte. Pero a cambio de esto obtenemos la informaci�n m�s actualizada de nuestra base de datos. Pero a final de cuentas uno de los principales objetivos de un reporte es mostrar informaci�n actualizada para tomar decisiones oportunas en base a dicha informaci�n �o me equivoco? Por lo tanto y para resolver el �problema� que ten�amos simplemente tenemos que hacer clic sobre esa opci�n de men� para desactivarla y guardar el reporte.

 

CAMBIAR EL COMPORTAMIENTO POR DEFAULT

Con esto se soluciona el problema para el reporte que acabamos de guardar. Sin embargo, cada nuevo reporte que hagamos en Crystal tendr� ese mismo comportamiento, y en cada reporte que hagamos tendremos que cambiar esa opci�n de men� para no tener problemas m�s adelante. Pero �no habr� alguna forma para que cada reporte nuevo que yo haga tenga esa opci�n inactiva? Claro que la hay. Claro que podemos cambiar el comportamiento por default de Crystal. Para esto debemos hacer clic en el men� Archivo | Opciones, con lo que abriremos el cuadro de di�logo Opciones. Ahora hagamos clic en la ficha Elaborando informes, que se muestra en la siguiente pantalla:

                          

Y debemos asegurarnos que la opci�n Guardar datos con el informe est� inactiva. Al hacer clic en el bot�n Aceptar haremos que a partir de ahora y en adelante, cada reporte nuevo que hagamos tendr� desactivada esa opci�n en el men� Archivo.

 

Espero que este art�culo les haya servido de algo. Un agradecimiento a las personas que me han escrito al mail, les agradezco sus comentarios, los cuales me sirven para ver qu� tengo que investigar y qu� art�culos deber�an ser escritos. Espero responder de la mejor manera a sus preguntas.

Daniel Maya Ortiz. [email protected]  

 


Otros art�culos sobre Crystal Report

ir al índice