Primarna svrha izvješća je predstaviti podatke baze podataka korisnicima u obliku koji je lako razumjeti. Crystal Reports vam daje sve alate koji su vam potrebni za to. Ponekad, međutim, želite izvješće koje čini više od samo predstavljanja podataka baze podataka. Možda ćete htjeti uključiti tekst iz datoteke za obradu teksta ili podatke koji se nalaze u proračunskoj tablici ili grafičku sliku pohranjenu kao bitmapiranu slikovnu datoteku. Kako bi omogućio dijeljenje različitih vrsta informacija u različitim vrstama datoteka, Microsoft je razvio OLE (Object Linking and Embedding) arhitekturu.
Izvješća koja izradite s Crystal Reports mogu poslužiti kao OLE kontejnerske aplikacije. To jest, mogu sadržavati OLE objekte koje su kreirale druge aplikacije koje se nazivaju OLE poslužiteljske aplikacije. Microsoft Word i Microsoft Excel primjeri su OLE poslužiteljskih aplikacija. Možete uzeti tekst iz datoteke Microsoft Word kao OLE objekt — ili uzeti Excel proračunsku tablicu kao OLE objekt — i smjestiti je u Crystal izvješće.
Crystal Reports također može funkcionirati kao aplikacija OLE poslužitelja. Izvješće možete definirati kao OLE objekt i smjestiti ga u Word tekstualnu datoteku, Excel proračunsku tablicu ili bilo koju drugu OLE kompatibilnu aplikaciju spremnika.
OLE nudi neobičnu prednost: kada unesete OLE objekt u Crystal Reports i stavite ga u izvješće, objekt održava odnos s aplikacijom koja ga je stvorila. Priroda tog odnosa ovisi o tome je li OLE objekt statičan, ugrađen ili povezan.
Statički OLE objekti
Statički OLE objekt je snimak objekta koja je kopirana iz izvorne prijave na primjenu kontejner. Možete postaviti statični OLE objekt u Crystal izvješće, ali nakon što ga stavite tamo, ne možete ga uređivati ili mijenjati na bilo koji način (osim da ga izbrišete). Statički OLE objekt ne održava nikakvu vezu s aplikacijom koja ga je stvorila.
Ugrađeni objekti i povezani objekti
Kao i kod statičkog OLE objekta, ugrađeni OLE objekt se u cijelosti preuzima u aplikaciju spremnika, s važnom razlikom: Ugrađeni objekt nije snimak. Ima "svijest" o tome iz koje poslužiteljske aplikacije dolazi i možete ga uređivati unutar aplikacije kontejnera. Kada dvaput kliknete na ugrađeni OLE objekt, postaje moguće uređivati. Aplikacija poslužitelja preuzima izbornike i alatne trake kako bi omogućila uređivanje. Na primjer, ako ugradite proračunsku tablicu programa Excel u izvješće, možete je uređivati unutar Crystal Reports-a — koristeći Excelove izbornike i alatne trake.
Sve izmjene koje napravite na ugrađenom OLE objektu ne prikazuju se u izvornoj datoteci u aplikaciji OLE poslužitelja. Ako želite promijeniti original, to morate učiniti zasebno.
Povezani objekti su poput posjetitelja; oni zapravo ne prelaze na aplikaciju kontejnera. Ono što sadrži aplikacija kontejner je pokazivač na povezani objekt (koji ostaje u aplikaciji poslužitelja). Ova veza znači da kad god se ažurira izvorni objekt u aplikaciji poslužitelja, ažurira se i povezani objekt u aplikaciji spremnika. Pretpostavimo, na primjer, da je vaša poslužiteljska aplikacija Excel, a vi ažurirate podatke u povezanoj proračunskoj tablici. Sljedeći put kada pokrenete svoje izvješće u Crystal Reports, ono izvlači najnovije podatke iz Excel datoteke kako bi se prikazali u izvješću.
Povezivanje je najbolje ako vaše izvješće uvijek mora odražavati najnovije podatke — i ako želite da podaci u više aplikacija ostanu sinkronizirani. Pokazivač također zauzima manje prostora od ugrađivanja velike proračunske tablice ili Word dokumenta, zbog čega se izvješće brže učitava. Izvješća koja sadrže povezane objekte su, međutim, manje prenosiva od izvješća koja sadrže ugrađene objekte. Da bi veza radila, originalna poslužiteljska aplikacija mora biti prisutna na računalu na kojem se izvodi Crystal Reports. Nasuprot tome, ugrađeni objekt je potpuno samostalan, ne treba mu poveznica na izvornu datoteku ili aplikaciju.