L'objectiu principal d'un informe és presentar les dades de la base de dades als usuaris d'una forma fàcil d'entendre. Crystal Reports us ofereix totes les eines que necessiteu per fer-ho. De vegades, però, voleu un informe que faci més que presentar dades de la base de dades. És possible que vulgueu incloure text d'un fitxer de processament de textos, dades que resideixen en un full de càlcul o una imatge gràfica emmagatzemada com a fitxer d'imatge de mapa de bits. Per permetre compartir diversos tipus d'informació en diferents tipus de fitxers, Microsoft va desenvolupar l'arquitectura OLE (Object Linking and Embedding).
Els informes que creeu amb Crystal Reports poden servir com a aplicacions de contenidor OLE. És a dir, poden contenir objectes OLE creats per altres aplicacions anomenades aplicacions de servidor OLE. Microsoft Word i Microsoft Excel són exemples d'aplicacions de servidor OLE. Podeu agafar text d'un fitxer de Microsoft Word com a objecte OLE (o bé prendre un full de càlcul d'Excel com a objecte OLE) i col·locar-lo en un informe Crystal.
Crystal Reports també pot funcionar com una aplicació de servidor OLE. Podeu definir un informe com a objecte OLE i col·locar-lo en un fitxer de text de Word, un full de càlcul Excel o qualsevol altra aplicació de contenidor compatible amb OLE.
OLE ofereix un avantatge inusual: quan introduïu un objecte OLE a Crystal Reports i el col·loqueu en un informe, l'objecte manté una relació amb l'aplicació que l'ha creat. La naturalesa d'aquesta relació depèn de si l'objecte OLE és estàtic, incrustat o enllaçat.
Objectes OLE estàtics
Un objecte OLE estàtic és una instantània d'un objecte que s'ha copiat de l'aplicació original a l'aplicació contenidor. Podeu col·locar un objecte OLE estàtic en un informe Crystal, però després de posar-lo allà, no podeu editar-lo ni canviar-lo de cap manera (excepte per eliminar-lo). Un objecte OLE estàtic no manté cap connexió amb l'aplicació que l'ha creat.
Objectes incrustats i objectes enllaçats
Igual que amb un objecte OLE estàtic, un objecte OLE incrustat es baixa completament a l'aplicació contenidor, amb una diferència important: un objecte incrustat no és cap instantània. Té una "consciència" de quina aplicació de servidor prové i la podeu editar dins de l'aplicació contenidor. Quan feu doble clic en un objecte OLE incrustat, esdevé editable. L'aplicació del servidor es fa càrrec dels menús i barres d'eines per permetre l'edició. Per exemple, si incrusteu un full de càlcul d'Excel en un informe, podeu editar-lo des de Crystal Reports, utilitzant menús i barres d'eines d'Excel.
Les modificacions que feu a un objecte OLE incrustat no apareixen al fitxer original de l'aplicació del servidor OLE. Si voleu canviar l'original, ho heu de fer per separat.
Els objectes enllaçats són com els visitants; en realitat no es mouen a l'aplicació contenidor. El que conté l'aplicació contenidor és un punter a l'objecte enllaçat (que roman a l'aplicació del servidor). Aquest enllaç significa que sempre que s'actualitza l'objecte original de l'aplicació del servidor, també s'actualitza l'objecte enllaçat de l'aplicació contenidor. Suposem, per exemple, que la vostra aplicació de servidor és Excel i actualitzeu les dades al full de càlcul enllaçat. La propera vegada que executeu l'informe a Crystal Reports, extreu les dades més recents del fitxer Excel per mostrar-les a l'informe.
L'enllaç és millor si el vostre informe ha de reflectir sempre les dades més recents i si voleu que les dades de diverses aplicacions es mantinguin sincronitzades. El punter també ocupa menys espai que incrustar un full de càlcul gran o un document de Word, cosa que fa que l'informe sigui més ràpid de carregar. Els informes que contenen objectes enllaçats són, però, menys portàtils que els informes que contenen objectes incrustats. Perquè l'enllaç funcioni, l'aplicació de servidor original ha d'estar present a la màquina que executa Crystal Reports. Per contra, un objecte incrustat és completament autònom i no necessita cap enllaç al seu fitxer font o aplicació.