Qëllimi kryesor i një raporti është të paraqesë të dhënat e bazës së të dhënave për përdoruesit në një formë që është e lehtë për t'u kuptuar. Crystal Reports ju jep të gjitha mjetet që ju nevojiten për ta bërë këtë. Ndonjëherë, megjithatë, ju dëshironi një raport që bën më shumë sesa thjesht prezantimin e të dhënave të bazës së të dhënave. Ju mund të dëshironi të përfshini tekst nga një skedar përpunues teksti, ose të dhëna që gjenden në një fletëllogaritëse, ose një imazh grafik të ruajtur si një skedar imazhi me bitmap. Për të lejuar ndarjen e llojeve të ndryshme të informacionit në lloje të ndryshme skedarësh, Microsoft zhvilloi arkitekturën OLE (Object Linking and Embedding).
Raportet që krijoni me Crystal Reports mund të shërbejnë si aplikacione të kontejnerëve OLE. Kjo do të thotë, ato mund të përmbajnë objekte OLE që janë krijuar nga aplikacione të tjera të quajtura aplikacione të serverit OLE. Microsoft Word dhe Microsoft Excel janë shembuj të aplikacioneve të serverit OLE. Mund të merrni tekst nga një skedar Microsoft Word si një objekt OLE - ose të merrni një fletëllogaritëse Excel si një objekt OLE - dhe ta vendosni në një raport Crystal.
Crystal Reports mund të funksionojë gjithashtu si një aplikacion server OLE. Ju mund të përcaktoni një raport si një objekt OLE dhe ta vendosni në një skedar teksti Word, një spreadsheet Excel ose ndonjë aplikacion tjetër kontejneri të pajtueshëm me OLE.
OLE ofron një avantazh të pazakontë: Kur sjellni një objekt OLE në Crystal Reports dhe e vendosni në një raport, objekti ruan një marrëdhënie me aplikacionin që e krijoi atë. Natyra e asaj marrëdhënie varet nëse objekti OLE është statik, i ngulitur ose i lidhur.
Objekte statike OLE
Një objekt statik OLE është një fotografi e një objekti që është kopjuar nga aplikacioni origjinal në aplikacionin e kontejnerit. Ju mund të vendosni një objekt statik OLE në një raport Crystal, por pasi ta vendosni atje, nuk mund ta modifikoni ose ndryshoni në asnjë mënyrë (përveç fshirjes). Një objekt statik OLE nuk ruan asnjë lidhje me aplikacionin që e krijoi atë.
Objektet e ngulitura dhe objektet e lidhura
Ashtu si me një objekt statik OLE, një objekt OLE i integruar shkarkohet tërësisht në aplikacionin e kontejnerit, me një ndryshim të rëndësishëm: Një objekt i integruar nuk është një fotografi. Ai ka një "vetëdije" se nga cili aplikacion server vjen dhe mund ta modifikoni brenda aplikacionit të kontejnerit. Kur klikoni dy herë një objekt OLE të integruar, ai bëhet i modifikueshëm. Aplikacioni i serverit merr përsipër menutë dhe shiritat e veglave për të lejuar redaktimin. Për shembull, nëse futni një fletëllogaritëse Excel në një raport, mund ta modifikoni fletëllogaritën nga brenda Crystal Reports — duke përdorur menutë dhe shiritat e veglave të Excel.
Çdo modifikim që bëni në një objekt të integruar OLE nuk shfaqet në skedarin origjinal në aplikacionin e serverit OLE. Nëse dëshironi të ndryshoni origjinalin, duhet ta bëni këtë veçmas.
Objektet e lidhura janë si vizitorët; ata në fakt nuk kalojnë në aplikacionin e kontejnerit. Ajo që përmban aplikacioni i kontejnerit është një tregues për objektin e lidhur (i cili mbetet në aplikacionin e serverit). Kjo lidhje do të thotë që sa herë që përditësohet objekti origjinal në aplikacionin e serverit, përditësohet edhe objekti i lidhur në aplikacionin e kontejnerit. Supozoni, për shembull, që aplikacioni juaj i serverit është Excel dhe ju përditësoni të dhënat në tabelën e lidhur. Herën tjetër që të ekzekutoni raportin tuaj në Crystal Reports, ai tërheq të dhënat më të fundit nga skedari Excel për t'i shfaqur në raport.
Lidhja është më e mira nëse raporti juaj duhet të pasqyrojë gjithmonë të dhënat më të fundit — dhe nëse dëshironi që të dhënat në shumë aplikacione të mbeten të sinkronizuara. Treguesi gjithashtu zë më pak hapësirë sesa futja e një fletëllogaritëse të madhe ose dokumenti Word, gjë që e bën raportin më të shpejtë për t'u ngarkuar. Megjithatë, raportet që përmbajnë objekte të lidhura janë më pak të lëvizshme sesa raportet që përmbajnë objekte të integruara. Që lidhja të funksionojë, aplikacioni origjinal i serverit duhet të jetë i pranishëm në makinën që po ekzekuton Crystal Reports. Në të kundërt, një objekt i integruar është plotësisht i pavarur, nuk ka nevojë për lidhje me skedarin ose aplikacionin e tij burimor.