Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
Μερικά άθροισμα στον ίδιο πίνακα και ερωτημα
Καλησπέρα Έχω μια απορία. Έστω έχω ένα πίνακα με 100 εγγραφες και χρειάζομαι να προσθέσω από την πρώτη έως την 20 εγγραφή. Και μετά από την 21 έως την 100.Δηλαδή να εχω δύο ή και περισσότερα Μερικά Άθροισμα Στον ίδιο πίνακα με ένα ερώτημα όμως . Άραγε είναι εφικτό αυτό; |
#2
|
Καλησπέρα Το πιο κάτω, γενικό παράδειγμα, έχει ως εξής: Έστω πίνακας, με ονόματα πελατών και ποσά, παραγγελιών. Το ερώτημα, ομαδοποιεί τους πελάτες αλφαβητικά και «βγάζει» υποσύνολα ανά πελάτη. |
#3
| |||
| |||
Μια 1η προσέγγιση (στηριζόμενη στη ΒΔ του Σπύρου) για το ζητούμενο. Στην προσπάθειά μου να έχουν κάτι "κοινό" οι "πρώτες" εγγραφές (που δίνουν το 1ο μερικό άθροισμα) απ' τις δεύτερες, δημιουργώ ένα υπολογιζόμενο πεδίο για να τις κατηγοριοποιήσω (πχ οι πρώτες 5 είναι οι Α και οι υπόλοιπες είναι οι Β). Αυτό με βοηθά να βρω τα μερικά αθροίσματα. Μέχρι εδώ δεν έχω να προσφέρω κάτι περισσότερο απ' τη βάση-δείγμα του Σπύρου. Όμως εκεί το όνομα αποτελούσε από μόνο του πεδίο-τιμή κατηγοριοποίησης, κάτι που δεν υπάρχει στην περίπτωσή μου, οπότε και αναγκάζομαι να έχω και ένα 2ο ερώτημα για να πετύχω το ζητούμενο. Η εισαγωγή αυτή γίνεται για να θέσω το ερώτημα, μήπως θα μπορούσαμε να απαλλαχθούμε απ' το ερώτημα (qryCategories) που δημιουργεί τις κατηγορίες "Α" και "Β" και να ενσωματωθούν όλα μαζί σε ένα ερώτημα.
__________________ Φιλικά, Χρήστος Τελευταία επεξεργασία από το χρήστη Χρήστος : 16-10-16 στις 18:56. |
#4
| |||
| |||
Σπύρο, σε παρακαλώ, μπορείς να ξαναανεβάσεις τη βάση με τις παραγγελίες ΑΛΛΑ να μην χρησιμοποιήσεις το ψευδώνυμο a στον πίνακά σου? Αν θες επικόλλησε μόνο τον κώδικα απ' το SQL...
__________________ Φιλικά, Χρήστος |
#5
|
Καλημέρα Κατ' αρχήν, να πούμε ότι, η έκθεση είναι το πιο κατάλληλο μέρος για να γίνονται υποσύνολα, εύκολα και προπάντων σωστά. Δεν έχω χρησιμοποιήσει, ποτέ, την μέθοδο αυτή σε Qry αλλά αν δεν βάλουμε «ψευδώνυμα» θα έχουμε κυκλική αναφορά. |
#6
| |||
| |||
Ευχαριστώ Σπύρο.
__________________ Φιλικά, Χρήστος |
#7
| |||
| |||
Καλησπέρα Θα συνεχίσω με το παράδειγμα του Σπύρου, διευκρινίζοντας κάποια σημεία: 1) Το παρακάτω ερώτημα (Qry1) εμφανίζει όλες τις εγγραφές του πίνακα table1 και ένα μερικό άθροισμα για κάθε όνομα. Κώδικας: SELECT iName, iValue FROM Table1 UNION ALL SELECT 'SubTotal', sum(iValue) FROM Table1 GROUP BY iname; Μπορούμε να πετύχουμε μια σωστή ταξινόμηση προσθέτοντας στο παραπάνω ερώτημα βοηθητικά πεδία ταξινόμησης. Έτσι δημιουργήθηκε το ερώτημα Qry2 Κώδικας: SELECT iName, iValue , iName as R1, 0 as R2 FROM Table1 UNION ALL SELECT 'SubTotal', sum(iValue) , iName as R1, 1 as R2 FROM Table1 GROUP BY iname ORDER BY 3, 4; Το πεδίο R1 περιέχει τα ονόματα και το πεδίο R2 τιμή 0 για τα ονόματα και 1 για τα υποσύνολα. Προτίμησα αυτόν τον τρόπο ταξινόμησης επειδή δίνει σωστό αποτέλεσμα και για αρνητικές τιμές στο πεδίο iValue Στην πρόταση ORDER BY, που αναφέρεται σε όλες τις εγγραφές του ερωτήματος ένωσης, η ταξινόμηση γίνεται ως προς το 3ο και 4ο πεδίο. 3) Το Qry2 εμφανίζει και τα βοηθητικά πεδία ταξινόμησης R1 και R2. Το Qry3 δεν τα περιέχει. Κώδικας: SELECT P.iName, P.iValue FROM (SELECT iName, iValue , iName as R1, 0 as R2 FROM Table1 UNION ALL SELECT 'SubTotal', sum(iValue) , iName as R1, 1 as R2 FROM Table1 GROUP BY iname ORDER BY 3, 4) AS P; Φιλικά/Γιώργος |
#8
| |||
| |||
Υλικό για μελέτη.... :)
__________________ Φιλικά, Χρήστος |
#9
| |||
| |||
Καλησπέρα Ευχαριστώ γιά τίς απαντήσεις.Για νά γίνω πιό κατανοητός θα επισυνάψω ένα μέρος τού πίνακα. Η ταξινόμηση γίνεται μέ τό πεδίο Α/Α. Υπάρχουν τρία ερωτήματα πού δείχνουν ποιές εγραφές θέλω νά γίνονται τά μερικά αθροίσματα. ΑΥΤΟ πού χρειαζομαι είναι άν είναι εφικτό σέ ένα ερώτημα νά παίρνω τά μερικά άθροισματα σέ νέα Πεδία τού πίνακα γιά νά χρησιμοποιήσω τό αποτέλεσμα. Τό Α/Α είναι αριθμητικό πεδίο ταξινόμησης γιά τό λόγο ότι συνέχεια θά προστίθεται εγγραφή καί θέλω νάτη βαζω σέ συγκεκριμμένη θέση. |
#10
| |||
| |||
Καλησπέρα Αν κατάλαβα καλά θέλουμε 3 ομάδες με βάση τον πρώτο χαρακτήρα της τιμής του πεδίου [Αρ. Τιμολογίου] Όταν προσπάθησα να δημιουργήσω τς ομάδες διαπίστωσα ότι, επειδή υπήρχαν Β αγγλικά και Β ελληνικά δημιουργούνταν συνολικά 4 ομάδες (Α, Β αγγλικό, Β ελληνικό, Γ). Για την αντικατάσταση του αγγλικού Β με το ελληνικό έτρεξα το ερώτημα [RePlaceBLatinToBGr]. Η δημιουργία πίνακα με πεδίο για τη δαπάνη ανά ομάδα, δεν είναι καλή ιδέα. Το ερώτημα [qryALL] δείχνει τι θα παρουσίαζε αυτός ο πίνακας και μπορεί να χρησιμοποιηθεί στη θέση του. Ο καλύτερος τρόπος είναι η χρησιμοποίηση έκθέσης. Η έκθεση [GroupReport] εμφανίζει τα ζητούμενα στοιχεία κατάλληλα ομαδοποιημένα. Βασίζεται στο ερώτημα [qryReport] Φιλικά/Γιώργος |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[ Πίνακες ] Μαζικη αντιγραφή εγγραφών στον ίδιο πίνακα | dimitrisp | Access - Ερωτήσεις / Απαντήσεις | 8 | 28-10-16 20:45 |
[ Πίνακες ] Πολλαπλή αντιγραφή μιάς εγγραφής στον ίδιο πίνακα | dimitrisp | Access - Ερωτήσεις / Απαντήσεις | 14 | 05-10-16 22:38 |
[ Φόρμες ] Πολλαπλασιασμος στη φορμα και μεταφορα στον πινακα | silixridi | Access - Ερωτήσεις / Απαντήσεις | 3 | 26-01-15 23:52 |
[ Φόρμες ] Υπολογισμός ποσού σε φόρμα και μεταφορά στον αντίστοιχο πίνακα | ΔΙΟΝΥΣΙΟΣ | Access - Ερωτήσεις / Απαντήσεις | 16 | 25-12-14 18:40 |
[ Πίνακες ] Ενωση 2 πεδίων στον ίδιο πίνακα | kantidenos | Access - Ερωτήσεις / Απαντήσεις | 1 | 01-10-13 03:28 |
Η ώρα είναι 21:49.