Crystal Reports 10: comprensión objeto vinculación e incrustación de objetos (OLE)
El propósito principal de un informe es presentar los datos de base de datos a los usuarios de una forma que es fácil de entender. Crystal Reports le da todas las herramientas que necesita para hacer eso. A veces, sin embargo, usted quiere un informe que hace algo más que presente los datos de base de datos. Es posible que desee incluir texto de un archivo de procesamiento de textos o datos que residen en una hoja de cálculo o una imagen gráfica almacenada como un archivo de imagen de mapa de bits. Para permitir el intercambio de diversos tipos de información en diferentes tipos de archivos, Microsoft desarrolló el OLE (Object Linking and Embedding) arquitectura.
Los informes que se crean con Crystal Reports pueden servir como aplicaciones de contenedor OLE. Es decir, pueden contener objetos OLE creados por otras aplicaciones llamadas aplicaciones de servidor OLE. Microsoft Word y Microsoft Excel son ejemplos de aplicaciones de servidor OLE. Usted puede tomar el texto de un archivo de Microsoft Word como un objeto OLE - o tomar una hoja de cálculo de Excel como un objeto OLE - y colocarlo en un informe de Crystal.
Crystal Reports también puede funcionar como una aplicación de servidor OLE. Puede definir un informe como un objeto OLE y colóquelo en un archivo de Word de texto, una hoja de cálculo de Excel, o cualquier otra aplicación de contenedor compatible con OLE.
OLE ofrece una ventaja inusual: Cuando usted trae un objeto OLE en Crystal Reports y colocarlo en un informe, el objeto mantiene una relación con la aplicación que lo creó. La naturaleza de esa relación depende de si el objeto OLE es estática, incrustado o vinculado.
Objetos OLE estáticos
LA objeto OLE estático es una instantánea de un objeto que ha sido copiada de la solicitud original para la aplicación contenedora. Usted puede colocar un objeto OLE estático en un informe de Crystal, pero después lo pones ahí, no puede editar o cambiar de ninguna manera (excepto para eliminarlo). Un objeto OLE estático no mantiene ninguna relación con la aplicación que lo creó.
Los objetos incrustados y objetos vinculados
Al igual que con un objeto OLE estático, un objeto OLE incrustado se descarga por completo a la aplicación contenedora, con una diferencia importante: Un objeto incrustado no es instantánea. Tiene una "conciencia" de que el servidor de aplicaciones viene, y usted puede editarlo dentro de la aplicación contenedora. Al hacer doble clic en un objeto OLE incrustado, se convierte en editable. La aplicación de servidor se hace cargo de los menús y barras de herramientas para permitir la edición. Por ejemplo, si incrusta una hoja de cálculo de Excel en un informe, puede editar la hoja de cálculo desde Crystal Reports - usando los menús y barras de herramientas de Excel.
Cualquier modificación que realice en un objeto OLE incrustado no aparecen en el archivo original en la aplicación de servidor OLE. Si desea cambiar el original, lo que tienes que hacer eso por separado.
Objetos vinculados son como visitantes- que en realidad no se mueven a la aplicación contenedora. Lo que la aplicación contenedora contiene una puntero para el objeto vinculado (que permanece en la aplicación de servidor). Este enlace significa que cada vez que el objeto original en la aplicación de servidor se actualiza el objeto vinculado en la aplicación contenedora se actualiza también. Supongamos, por ejemplo, que su aplicación de servidor es Excel y actualizar los datos en la hoja de cálculo vinculada. La próxima vez que ejecute el informe en Crystal Reports, que tira de los últimos datos del archivo de Excel para mostrar en el informe.
La vinculación es mejor si su informe siempre debe reflejar los datos más recientes - y si desea que los datos en múltiples aplicaciones para permanecer sincronizado. El puntero también ocupa menos espacio que la incorporación de una gran hoja de cálculo o documento de Word, lo que hace el informe más rápido en cargar. Los informes que contienen objetos vinculados son, sin embargo, menos portátiles que los informes que contienen objetos incrustados. Para el enlace funcione, la aplicación de servidor original debe estar presente en la máquina que ejecuta Crystal Reports. Por el contrario, un objeto incrustado es completamente autónomo, sin necesidad de un enlace a su archivo o aplicación de origen.