Indholdsfortegnelse:
Video: How books can open your mind | Lisa Bu 2025
Det primære formål med en rapport er at præsentere databasedata for brugere i en form, der er let at forstå. Crystal Reports giver dig alle de værktøjer, du har brug for til at gøre det. Nogle gange vil du dog have en rapport, der gør mere end bare til stede databasedata. Du vil måske inkludere tekst fra en tekstbehandlingsfil eller data, der findes i et regneark eller et grafisk billede, der er gemt som en bitmappet billedfil. For at muliggøre deling af forskellige slags oplysninger i forskellige slags filer udviklede Microsoft OLE (Objekt Linking and Embedding) arkitekturen.
Rapporter, du opretter med Crystal Reports, kan fungere som OLE-containerprogrammer. Det vil sige, de kan indeholde OLE-objekter, der blev oprettet af andre applikationer kaldet OLE-serverapplikationer. Microsoft Word og Microsoft Excel er eksempler på OLE-serverprogrammer. Du kan tage tekst fra en Microsoft Word-fil som et OLE-objekt - eller tag et Excel-regneark som et OLE-objekt - og læg det i en Crystal-rapport.
Crystal Reports kan også fungere som et OLE-serverprogram. Du kan definere en rapport som et OLE-objekt og placere det i en Word-tekstfil, et Excel-regneark eller et andet OLE-kompatibelt containerprogram.
OLE tilbyder en usædvanlig fordel: Når du bringer et OLE-objekt ind i Crystal Reports og placerer det i en rapport, opretholder objektet et forhold til det program, der oprettede det. Naturen af dette forhold afhænger af, om OLE-objektet er statisk, indlejret eller linket.
Statiske OLE-objekter
A statisk OLE-objekt er et øjebliksbillede af et objekt, der er kopieret fra det oprindelige program til containerprogrammet. Du kan placere et statisk OLE-objekt i en Crystal-rapport, men når du har lagt det der, kan du ikke redigere det eller ændre det på nogen måde (undtagen for at slette det). Et statisk OLE-objekt opretholder ikke nogen forbindelse til det program, der oprettede det.
Embedded objekter og tilknyttede objekter
Som med et statisk OLE-objekt downloades en integreret OLE-objekt fuldstændigt til containerprogrammet, med en vigtig forskel: En indlejret objekt er ikke et øjebliksbillede. Det har en "bevidsthed", hvilken serverapplikation den kommer fra, og du kan redigere den inden i container applikationen. Når du dobbeltklikker på et indlejret OLE-objekt, bliver det redigerbart. Serverprogrammet overtager menuerne og værktøjslinjer for at tillade redigering. Hvis du f.eks. Indlejrer et Excel-regneark i en rapport, kan du redigere regnearket fra Crystal Reports - ved hjælp af Excel-menuer og værktøjslinjer.
Eventuelle ændringer, du foretager til et indlejret OLE-objekt, vises ikke i den oprindelige fil i OLE-serverprogrammet. Hvis du vil ændre originalen, skal du gøre det separat.
Tilknyttede objekter er som besøgende; de flytter faktisk ikke til containerapplikationen. Hvad containerprogrammet indeholder, er en pointer til det linkede objekt (som forbliver i serverprogrammet). Dette link betyder, at når det oprindelige objekt i serverprogrammet opdateres, opdateres også det linkede objekt i containerprogrammet. Antag for eksempel at din serverapplikation er Excel, og du opdaterer dataene i det sammenkædede regneark. Næste gang du kører din rapport i Crystal Reports, trækker den de nyeste data fra Excel-filen, der vises i rapporten.
Kobling er bedst, hvis din rapport altid skal afspejle de nyeste data - og hvis du vil have dataene i flere applikationer forblive synkroniserede. Pegeren tager også mindre plads end at indlejre et stort regneark eller Word-dokument, hvilket gør rapporten hurtigere at indlæse. Rapporter, der indeholder linkede objekter, er dog mindre bærbare end rapporter, der indeholder indlejrede objekter. For linket til arbejde skal den oprindelige server applikation være til stede på den maskine, der kører Crystal Reports. Derimod er en indlejret genstand helt selvstændig, der behøver intet link til dets kildefil eller -applikation.
