Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Master – Detail

Îåêßíçóå áðü ôï ìÝëïò dkou. Τελευταία δημοσίευση από το μέλος dkou στις 23-02-2006, 22:06. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  23-02-2006, 08:24 10021

    Master – Detail

    Έχω ένα θεματάκι και θα ήθελα την βοήθεια σας. Visual Studio 2005, Crystal Reports for Visual Studio 2005, SQL Server 2005. Δύο πίνακες (πελάτες κινήσεις). Όταν προσθέτω πεδία στο report (Crystal Reports) από τον πίνακα «πελάτες» όλες οι εγγραφές μου εμφανίζονται OK. Όταν όμως προσθέσω και πεδία από τον πίνακα «κινήσεις» τότε στο report εμφανίζονται ΜΟΝΟ αυτές οι εγγραφές που έχουν περιεχόμενο και στους δύο πίνακες.

     

    Δηλαδή εάν ένας πελάτης ΕΧΕΙ κινήσεις τότε στο report εμφανίζονται καλώς τα πεδία του πελάτη και τα πεδία των κινήσεων του. Όταν όμως ο πελάτης ΔΕΝ έχει κινήσεις τότε στο report ΔΕΝ εμφανίζετε κανένα από τα πεδία αυτού του πελάτη, ούτε καν από τον πίνακα «πελάτες».

  •  23-02-2006, 10:13 10027 σε απάντηση της 10021

    Απ: Master – Detail

    Αυτό που αναφέρεις είναι φυσικό γιατί το sql statment είναι σε inner join για να σου εφανίζονται και οι πελάτες το sql statment πρέπει να γίνει όπως παρακάτω

    SELECT * from customers a left outer join orders b on a.cusid=b.cusid

    κατόπιν ακολουθει και το where statment.
    στο select βέβαια μπορείς νά βάλεις τα πεδία που θέλεις εσύ.


    Ιωάννης Μανουσάκης
  •  23-02-2006, 16:06 10049 σε απάντηση της 10021

    Απ: Master – Detail

    Ευχαριστώ για την άμεση απάντηση. Ίσος θα έπρεπε να διευκρινίσω από την αρχή ότι σαν db source «περνάω» το dataset έτοιμο από το application. Σαν DB connection δηλαδή του δίνω Project Data ->.ADO NET Dataset. Συνεπώς δεν έχω την δυνατότητα να γράψω SQL. Αυτό που μπορώ να κάνω είναι να πάω στον Database Expert του Crystal Reports και μέσα στα Link Options να του δηλώσω Left Outer Join. Αυτό το έχω κάνει χωρίς κανένα αποτέλεσμα δυστυχώς. Μήπως κάνω κάτι λάθος, ή μήπως δεν κάνω κάτι που θα έπρεπε να κάνω ?
  •  23-02-2006, 17:54 10057 σε απάντηση της 10049

    Απ: Master – Detail

    Αν είναι δικό σου ο κώδικας του application που φτιάχνει το dataset τότε μπορείς να επέμβεις ώστε να έχει τα κατάλληλα δεδομένα.

    Αν αυτό δεν είναι εφικτό, μπορείς στο κώδικα που θα γράψεις όταν καλείται το report, πριν την κλήση του, να φτιάξεις ένα δεύτερο DataSet μέσα στο οποίο θα βάλεις τους πελάτες χωρίς κινήσεις αλλά και τα data του προηγούμενου DataSet που τα έχεις ήδη (με Merge). Έτσι, θα κάνεις bind το report στο νέο DataSet και θα είσαι OK.


    Vir prudens non contra ventum mingit
  •  23-02-2006, 22:06 10068 σε απάντηση της 10021

    Απ: Master – Detail

    Τελικά, αυτό που χρειάστηκε να κάνω για να δουλέψει το Left Outer Join (Enforce Both) ήταν Reverse και το Link. Μετά από αυτό όλα έπαιξαν ρολόι. Πάντως σας ευχαριστώ για την ανταπόκριση.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems