Inhoudsopgave:
Video: Words at War: The Ship / From the Land of the Silent People / Prisoner of the Japs 2024
Het primaire doel van een rapport is om databasegegevens aan gebruikers te presenteren in een vorm die gemakkelijk te begrijpen is. Crystal Reports biedt u alle hulpmiddelen die u nodig hebt om dat te doen. Soms wilt u echter een rapport dat meer doet dan alleen databasegegevens presenteren. U wilt mogelijk tekst uit een tekstverwerkingsbestand opnemen, of gegevens die zich in een spreadsheet bevinden, of een grafische afbeelding die is opgeslagen als een bitmapafbeelding. Om het delen van verschillende soorten informatie in verschillende soorten bestanden mogelijk te maken, heeft Microsoft de OLE-architectuur (Object Linking and Embedding) ontwikkeld.
Rapporten die u met Crystal Reports maakt, kunnen als OLE-containertoepassingen worden gebruikt. Dat wil zeggen dat ze OLE-objecten kunnen bevatten die zijn gemaakt door andere toepassingen, OLE-servertoepassingen genoemd. Microsoft Word en Microsoft Excel zijn voorbeelden van OLE-servertoepassingen. U kunt tekst uit een Microsoft Word-bestand als een OLE-object nemen of een Excel-werkblad als OLE-object nemen en dit in een Crystal Reports-rapport plaatsen.
Crystal Reports kan ook functioneren als een OLE-servertoepassing. U kunt een rapport definiëren als een OLE-object en dit in een Word-tekstbestand, een Excel-spreadsheet of een andere OLE-compatibele containertoepassing plaatsen.
OLE biedt een ongewoon voordeel: wanneer u een OLE-object in Crystal Reports plaatst en in een rapport plaatst, houdt het object een relatie met de toepassing die het heeft gemaakt. De aard van die relatie hangt af van het feit of het OLE-object statisch, ingesloten of gekoppeld is.
Statische OLE-objecten
Een statisch OLE-object is een momentopname van een object dat is gekopieerd van de oorspronkelijke toepassing naar de containertoepassing. U kunt een statisch OLE-object in een Crystal Reports-rapport plaatsen, maar nadat u het daar hebt geplaatst, kunt u het niet bewerken of op een andere manier wijzigen (behalve om het te verwijderen). Een statisch OLE-object onderhoudt geen verbinding met de toepassing die het heeft gemaakt.
Ingesloten objecten en gekoppelde objecten
Net als bij een statisch OLE-object wordt een ingebed OLE-object volledig gedownload naar de containertoepassing, met een belangrijk verschil: een ingesloten object is geen momentopname. Het heeft een "bewustzijn" van welke servertoepassing het afkomstig is en u kunt het binnen de containertoepassing bewerken. Wanneer u dubbelklikt op een ingesloten OLE-object, wordt het bewerkbaar. De servertoepassing neemt de menu's en werkbalken over om bewerken mogelijk te maken. Als u bijvoorbeeld een Excel-werkblad insluit in een rapport, kunt u het werkblad vanuit Crystal Reports bewerken - met behulp van Excel-menu's en werkbalken.
Alle wijzigingen die u in een ingesloten OLE-object aanbrengt, worden niet weergegeven in het oorspronkelijke bestand in de OLE-servertoepassing. Als je het origineel wilt veranderen, moet je dat apart doen.
Gekoppelde objecten zijn als bezoekers; ze verplaatsen zich niet naar de containertoepassing. Wat de containertoepassing bevat, is een aanwijzer voor het gekoppelde object (dat in de servertoepassing blijft). Deze koppeling houdt in dat wanneer het oorspronkelijke object in de servertoepassing wordt bijgewerkt, het gekoppelde object in de containertoepassing ook wordt bijgewerkt. Stel dat uw servertoepassing bijvoorbeeld Excel is en dat u de gegevens in het gekoppelde werkblad bijwerkt. De volgende keer dat u uw rapport uitvoert in Crystal Reports, worden de nieuwste gegevens uit het Excel-bestand opgehaald en in het rapport weergegeven.
Linken is het beste als uw rapport altijd de nieuwste gegevens moet bevatten en als u wilt dat de gegevens in meerdere toepassingen gesynchroniseerd blijven. De aanwijzer neemt ook minder ruimte in beslag dan het insluiten van een groot werkblad of Word-document, waardoor het rapport sneller kan worden geladen. Rapporten met gekoppelde objecten zijn echter minder draagbaar dan rapporten met ingesloten objecten. Om de koppeling te laten werken, moet de oorspronkelijke servertoepassing aanwezig zijn op de computer waarop Crystal Reports wordt uitgevoerd. Een ingesloten object daarentegen is volledig onafhankelijk en heeft geen link naar het bronbestand of de toepassing nodig.