Ο πρωταρχικός σκοπός μιας αναφοράς είναι να παρουσιάζει δεδομένα βάσης δεδομένων στους χρήστες σε μια μορφή που είναι εύκολα κατανοητή. Το Crystal Reports σάς παρέχει όλα τα εργαλεία που χρειάζεστε για να το κάνετε αυτό. Μερικές φορές, ωστόσο, θέλετε μια αναφορά που κάνει περισσότερα από την απλή παρουσίαση δεδομένων βάσης δεδομένων. Μπορεί να θέλετε να συμπεριλάβετε κείμενο από ένα αρχείο επεξεργασίας κειμένου ή δεδομένα που βρίσκονται σε ένα υπολογιστικό φύλλο ή μια γραφική εικόνα που είναι αποθηκευμένη ως αρχείο εικόνας με αντιστοίχιση bit. Για να επιτρέψει την κοινή χρήση διαφόρων ειδών πληροφοριών σε διαφορετικά είδη αρχείων, η Microsoft ανέπτυξε την αρχιτεκτονική OLE (Σύνδεση και ενσωμάτωση αντικειμένων).
Οι αναφορές που δημιουργείτε με τις Crystal Reports μπορούν να χρησιμεύσουν ως εφαρμογές κοντέινερ OLE. Δηλαδή, μπορούν να περιέχουν αντικείμενα OLE που δημιουργήθηκαν από άλλες εφαρμογές που ονομάζονται εφαρμογές διακομιστή OLE. Το Microsoft Word και το Microsoft Excel είναι παραδείγματα εφαρμογών διακομιστή OLE. Μπορείτε να πάρετε κείμενο από ένα αρχείο Microsoft Word ως αντικείμενο OLE — ή να πάρετε ένα υπολογιστικό φύλλο Excel ως αντικείμενο OLE — και να το τοποθετήσετε σε μια αναφορά Crystal.
Το Crystal Reports μπορεί επίσης να λειτουργήσει ως εφαρμογή διακομιστή OLE. Μπορείτε να ορίσετε μια αναφορά ως αντικείμενο OLE και να την τοποθετήσετε σε ένα αρχείο κειμένου Word, ένα υπολογιστικό φύλλο Excel ή οποιαδήποτε άλλη εφαρμογή κοντέινερ συμβατή με OLE.
Το OLE προσφέρει ένα ασυνήθιστο πλεονέκτημα: Όταν εισάγετε ένα αντικείμενο OLE στο Crystal Reports και το τοποθετείτε σε μια αναφορά, το αντικείμενο διατηρεί μια σχέση με την εφαρμογή που το δημιούργησε. Η φύση αυτής της σχέσης εξαρτάται από το εάν το αντικείμενο OLE είναι στατικό, ενσωματωμένο ή συνδεδεμένο.
Στατικά αντικείμενα OLE
Ένα στατικό αντικείμενο OLE είναι ένα στιγμιότυπο ενός αντικειμένου που έχει αντιγραφεί από την αρχική εφαρμογή στην εφαρμογή κοντέινερ. Μπορείτε να τοποθετήσετε ένα στατικό αντικείμενο OLE σε μια αναφορά Crystal, αλλά αφού το τοποθετήσετε εκεί, δεν μπορείτε να το επεξεργαστείτε ή να το αλλάξετε με οποιονδήποτε τρόπο (εκτός από τη διαγραφή του). Ένα στατικό αντικείμενο OLE δεν διατηρεί καμία σύνδεση με την εφαρμογή που το δημιούργησε.
Ενσωματωμένα αντικείμενα και συνδεδεμένα αντικείμενα
Όπως συμβαίνει με ένα στατικό αντικείμενο OLE, ένα ενσωματωμένο αντικείμενο OLE μεταφορτώνεται εξ ολοκλήρου στην εφαρμογή κοντέινερ, με μια σημαντική διαφορά: Ένα ενσωματωμένο αντικείμενο δεν είναι στιγμιότυπο. Έχει «συνείδηση» από ποια εφαρμογή διακομιστή προέρχεται και μπορείτε να την επεξεργαστείτε μέσα στην εφαρμογή κοντέινερ. Όταν κάνετε διπλό κλικ σε ένα ενσωματωμένο αντικείμενο OLE, γίνεται επεξεργάσιμο. Η εφαρμογή διακομιστή αναλαμβάνει τα μενού και τις γραμμές εργαλείων για να επιτρέπει την επεξεργασία. Για παράδειγμα, εάν ενσωματώσετε ένα υπολογιστικό φύλλο Excel σε μια αναφορά, μπορείτε να επεξεργαστείτε το υπολογιστικό φύλλο μέσα από τις Αναφορές Crystal — χρησιμοποιώντας μενού και γραμμές εργαλείων του Excel.
Τυχόν τροποποιήσεις που κάνετε σε ένα ενσωματωμένο αντικείμενο OLE δεν εμφανίζονται στο αρχικό αρχείο της εφαρμογής διακομιστή OLE. Εάν θέλετε να αλλάξετε το πρωτότυπο, πρέπει να το κάνετε ξεχωριστά.
Τα συνδεδεμένα αντικείμενα είναι σαν επισκέπτες. στην πραγματικότητα δεν μετακινούνται στην εφαρμογή κοντέινερ. Αυτό που περιέχει η εφαρμογή κοντέινερ είναι ένας δείκτης στο συνδεδεμένο αντικείμενο (που παραμένει στην εφαρμογή διακομιστή). Αυτός ο σύνδεσμος σημαίνει ότι κάθε φορά που ενημερώνεται το αρχικό αντικείμενο στην εφαρμογή διακομιστή, ενημερώνεται και το συνδεδεμένο αντικείμενο στην εφαρμογή κοντέινερ. Ας υποθέσουμε, για παράδειγμα, ότι η εφαρμογή διακομιστή σας είναι το Excel και ενημερώνετε τα δεδομένα στο συνδεδεμένο υπολογιστικό φύλλο. Την επόμενη φορά που θα εκτελέσετε την αναφορά σας στο Crystal Reports, θα τραβάει τα πιο πρόσφατα δεδομένα από το αρχείο Excel για να εμφανιστούν στην αναφορά.
Η σύνδεση είναι καλύτερη εάν η αναφορά σας πρέπει να αντικατοπτρίζει πάντα τα πιο πρόσφατα δεδομένα — και εάν θέλετε τα δεδομένα σε πολλές εφαρμογές να παραμένουν συγχρονισμένα. Ο δείκτης καταλαμβάνει επίσης λιγότερο χώρο από την ενσωμάτωση ενός μεγάλου υπολογιστικού φύλλου ή εγγράφου του Word, γεγονός που κάνει την αναφορά πιο γρήγορη στη φόρτωση. Ωστόσο, οι αναφορές που περιέχουν συνδεδεμένα αντικείμενα είναι λιγότερο φορητές από τις αναφορές που περιέχουν ενσωματωμένα αντικείμενα. Για να λειτουργήσει ο σύνδεσμος, η αρχική εφαρμογή διακομιστή πρέπει να υπάρχει στο μηχάνημα που εκτελεί το Crystal Reports. Αντίθετα, ένα ενσωματωμένο αντικείμενο είναι εντελώς αυτοτελές, χωρίς να χρειάζεται σύνδεση με το αρχείο προέλευσης ή την εφαρμογή του.