Innehållsförteckning:
Video: What MDMA Feels Like 2024
Det primära syftet med en rapport är att presentera databasdata för användare i en form som är lätt att förstå. Crystal Reports ger dig alla verktyg du behöver för att göra det. Ibland vill du dock ha en rapport som gör mer än bara nuvarande databasdata. Du kanske vill inkludera text från en ordbehandlingsfil eller data som finns i ett kalkylblad eller en grafisk bild som lagras som en bitmappad bildfil. För att tillåta delning av olika typer av information i olika typer av filer, utvecklade Microsoft OLE (Object Linking and Embedding) arkitekturen.
Rapporter som du skapar med Crystal Reports kan fungera som OLE-containerprogram. Det vill säga de kan innehålla OLE-objekt som skapades av andra program som heter OLE-serverns applikationer. Microsoft Word och Microsoft Excel är exempel på OLE-serverns applikationer. Du kan ta text från en Microsoft Word-fil som ett OLE-objekt - eller ta ett Excel-kalkylblad som ett OLE-objekt - och placera det i en Crystal-rapport.
Crystal Reports kan också fungera som en OLE-serverapplikation. Du kan definiera en rapport som ett OLE-objekt och placera det i en Word-textfil, ett Excel-kalkylblad eller något annat OLE-kompatibelt behållarprogram.
OLE erbjuder en ovanlig fördel: När du tar ett OLE-objekt i Crystal Reports och placerar det i en rapport, behåller objektet ett förhållande till det program som skapade det. Naturen för det förhållandet beror på om OLE-objektet är statiskt, inbäddat eller länkat.
Statiska OLE-objekt
A statiskt OLE-objekt är en stillbild av ett objekt som har kopierats från den ursprungliga applikationen till behållarprogrammet. Du kan placera ett statiskt OLE-objekt i en Crystal-rapport, men efter att du har lagt det där kan du inte redigera det eller ändra det på något sätt (förutom att radera det). Ett statiskt OLE-objekt upprätthåller inte någon anslutning till programmet som skapade det.
Inbäddade objekt och länkade objekt
Som med ett statiskt OLE-objekt laddas ett inbäddat OLE-objekt helt till behållarprogrammet, med en viktig skillnad: Ett inbäddat objekt är ingen ögonblicksbild. Det har en "medvetenhet" av vilken servernansökan den kommer från, och du kan redigera den i behållarprogrammet. När du dubbelklickar på ett inbäddat OLE-objekt blir det redigerbart. Serverprogrammet tar över menyer och verktygsfält för att tillåta redigering. Om du till exempel lägger in ett Excel-kalkylblad i en rapport kan du redigera kalkylbladet från Crystal Reports - med hjälp av Excel-menyer och verktygsfält.
Eventuella ändringar du gör i ett inbäddat OLE-objekt visas inte i originalfilen i OLE-servern. Om du vill ändra originalet måste du göra det separat.
Länkade objekt är som besökare; de flyttar faktiskt inte till behållaransökan. Vad behållarprogrammet innehåller är en pekare till det länkade objektet (som finns kvar i serverns program). Den här länken innebär att när det ursprungliga objektet i serverns program uppdateras uppdateras också det länkade objektet i behållarprogrammet. Antag exempelvis att din serverapplikation är Excel, och du uppdaterar data i det länkade kalkylbladet. Nästa gång du kör rapporten i Crystal Reports, drar den de senaste data från Excel-filen som visas i rapporten.
Koppling är bäst om din rapport alltid ska återspegla de senaste uppgifterna - och om du vill att data i flera program ska förbli synkroniserade. Pekaren tar också upp mindre utrymme än att bädda in ett stort kalkylblad eller Word-dokument, vilket gör rapporten snabbare att ladda. Rapporter som innehåller länkade objekt är dock mindre bärbara än rapporter som innehåller inbäddade objekt. För länken till jobbet måste den ursprungliga serverns ansökan vara närvarande på maskinen som kör Crystal Reports. Däremot är ett inbäddat objekt helt självständigt och behöver ingen länk till källfilen eller applikationen.