Αυτό το άρθρο εξηγεί πώς μπορείτε να χρησιμοποιήσετε ένα ερώτημα κορυφαίας τιμής στην Access για να βρείτε τις υψηλότερες ή τις χαμηλότερες τιμές σε ένα σύνολο εγγραφών. Χρησιμοποιείτε ερωτήματα κορυφαίας αξίας για να απαντήσετε σε διάφορες επιχειρηματικές ερωτήσεις, όπως ποια προϊόντα πωλούνται καλά και ποια όχι.
Τι θέλετε να κάνετε;
Κατανόηση ερωτημάτων κορυφαίων τιμών
Χρησιμοποιείτε ένα ερώτημα πρώτης τιμής όταν θέλετε να βρείτε εγγραφές που περιέχουν τις πρώτες ή τις τελευταίες τιμές σε ένα πεδίο πίνακα. Μπορείτε να χρησιμοποιήσετε ένα ερώτημα κορυφαίας τιμής για να απαντήσετε στους ακόλουθους τύπους ερωτήσεων.
-
Ποιο είναι το πιο ή λιγότερο ακριβό προϊόν;
-
Ποιους τρεις υπαλλήλους έχουν τα επόμενα γενέθλια;
-
Ποια τμήματα δημιούργησαν τις μεγαλύτερες ή λιγότερες πωλήσεις κατά τη διάρκεια του τρέχοντος έτους;
-
Ποια προϊόντα καταλαμβάνουν το κορυφαίο ή το τελευταίο πέντε τοις εκατό των πωλήσεων;
-
Ποια προϊόντα σε καθεμία από τις κατηγορίες προϊόντων καταλαμβάνουν το πρώτο ή το τελευταίο πέντε τοις εκατό των πωλήσεων;
Με λίγα λόγια, ένα ερώτημα με κορυφαίες τιμές ταξινομεί και, στη συνέχεια, φιλτράρει τα δεδομένα σας για να επιστρέψει τις πρώτες ή τις τελευταίες τιμές σε ένα πεδίο. Μπορείτε να χρησιμοποιήσετε ερωτήματα με κορυφαίες τιμές για να αναζητήσετε αριθμητικές τιμές (συμπεριλαμβανομένων των τιμών νομισματικής μονάδας) και τιμές ημερομηνίας.
Η διαδικασία δημιουργίας ενός ερωτήματος κορυφαίων τιμών ακολουθεί τα εξής γενικά βήματα:
-
Δημιουργία ένα ερώτημα επιλογής ή ένα ερώτημα συνόλων.
Μπορείτε να χρησιμοποιήσετε ένα ερώτημα επιλογής για να βρείτε τις πρώτες ή τις τελευταίες τιμές σε έναν πίνακα. Μπορείτε να χρησιμοποιήσετε ένα ερώτημα συνόλων για να βρείτε τις πρώτες ή τις τελευταίες τιμές σε μία ή περισσότερες κατηγορίες. Για παράδειγμα, εάν θέλετε να απαντήσετε σε μια ερώτηση όπως "Ποιο είναι το πιο ή λιγότερο ακριβό προϊόν", ξεκινάτε δημιουργώντας ένα ερώτημα επιλογής. Για να απαντήσετε σε μια ερώτηση όπως "Ποια προϊόντα σε κάθε μία από τις κατηγορίες προϊόντων μας καταλαμβάνουν το επάνω ή το τελευταίο πέντε τοις εκατό των πωλήσεων", χρησιμοποιείτε ένα ερώτημα συνόλων. Επίσης, μπορείτε να χρησιμοποιήσετε οποιονδήποτε τύπο ερωτήματος για να βρείτε τις πρώτες και τις τελευταίες τιμές είτε σε μια ομάδα εγγραφών είτε σε εγγραφές που εμπίπτουν σε κατηγορίες.
-
Εφαρμογή σειράς ταξινόμησης στο ερώτημα.
-
Εφαρμογή άλλων κριτηρίων στο ερώτημα.
-
Καθορίστε τον αριθμό των εγγραφών που θέλετε να επιστρέψει το ερώτημα. Μπορείτε να καθορίσετε ένα ποσοστό, όπως το 5% των πρώτων τιμών σε ένα πεδίο ή μπορείτε να καθορίσετε έναν σταθερό αριθμό, όπως τις 10 κορυφαίες τιμές σε ένα πεδίο.
Επιλογή μεταξύ ενός ερωτήματος κορυφαίων τιμών και ενός φίλτρου
Για να προσδιορίσετε εάν πρέπει να δημιουργήσετε ένα ερώτημα κορυφαίων τιμών ή να εφαρμόσετε ένα φίλτρο, λάβετε υπόψη τα εξής:
-
Εάν θέλετε να επιστρέψετε τις εγγραφές που περιέχουν τις υψηλότερες ή τις χαμηλότερες τιμές σε ένα πεδίο και δεν γνωρίζετε τις ακριβείς τιμές επάνω ή κάτω πεδίου (ή δεν έχουν σημασία), δημιουργείτε ένα ερώτημα κορυφαίων τιμών.
-
Εάν θέλετε να επιστρέψετε όλες τις εγγραφές όπου η τιμή σε ένα πεδίο ταιριάζει ή είναι μικρότερη ή μεγαλύτερη από μια τιμή για την οποία σας ενδιαφέρει, εφαρμόστε ένα φίλτρο. Για παράδειγμα, για να δείτε τα προϊόντα με τιμές μεταξύ $50 και $100, εφαρμόστε ένα φίλτρο. Αυτό το σχήμα απεικονίζει ένα δείγμα φίλτρου στην προβολή σχεδίασης ερωτήματος και τα αποτελέσματα που μπορεί να παράγει ένα τέτοιο φίλτρο:
Για περισσότερες πληροφορίες σχετικά με τη δημιουργία και τη χρήση φίλτρων, ανατρέξτε στο άρθρο Εφαρμογή φίλτρου για την προβολή επιλεγμένων εγγραφών σε μια βάση δεδομένων της Access.
Κανόνες για τη δημιουργία και τη χρήση ερωτημάτων κορυφαίων τιμών
Καθώς προχωράτε, να θυμάστε ότι, ανεξάρτητα από τον τύπο ερωτήματος (ένα ερώτημα επιλογής ή ένα ερώτημα συνόλων), πρέπει να χρησιμοποιήσετε πεδία που περιέχουν περιγραφικά δεδομένα, όπως ονόματα υπαλλήλων ή προϊόντων, και ένα πεδίο που περιέχει τις πρώτες ή τις τελευταίες τιμές που θέλετε να βρείτε, όπως μια τιμή ή ένα πεδίο ημερομηνίας. Μπορείτε να χρησιμοποιήσετε περισσότερα από ένα πεδία δεδομένων και, εάν χρησιμοποιήσετε ένα ερώτημα συνόλων, τα πεδία δεδομένων σας συνήθως θα πρέπει να περιλαμβάνουν πληροφορίες κατηγορίας, όπως μια πόλη ή ένα πεδίο χώρας/περιοχής. Μπορείτε να παραλείψετε τα δεδομένα κατηγορίας μόνο όταν δημιουργείτε ένα ερώτημα συνόλων που εκτελείται σε αντιπαραβολή με όλες τις εγγραφές, όπως "δείξε μου το πέντε τοις εκατό των πιο ακριβών παραγγελιών". Επίσης, μπορείτε να χρησιμοποιήσετε ένα ερώτημα επιλογής ή συνόλων για να βρείτε τις πρώτες και τις τελευταίες τιμές σε μια ομάδα εγγραφών ή εγγραφών που εμπίπτουν σε κατηγορίες. Για περισσότερες πληροφορίες σχετικά με αυτό, ανατρέξτε στην ενότητα Εύρεση των πρώτων ή των τελευταίων τιμών για εγγραφές σε κατηγορίες ή ομάδες, παρακάτω σε αυτό το άρθρο.
Εύρεση των εγγραφών που περιέχουν τις πρώτες ή τις τελευταίες τιμές
Τα βήματα σε αυτή την ενότητα εξηγούν πώς μπορείτε να δημιουργήσετε ένα βασικό ερώτημα κορυφαίων τιμών και ένα πιο σύνθετο ερώτημα. Τα πρώτα βήματα δείχνουν τα βασικά τμήματα ενός ερωτήματος κορυφαίων τιμών, ενώ η δεύτερη ενότητα εξηγεί πώς μπορείτε να βρείτε τα επόμενα γενέθλια των υπαλλήλων. Τα βήματα χρησιμοποιούν το ακόλουθο δείγμα πίνακα:
Επώνυμο |
Όνομα |
Διεύθυνση |
Πόλη |
Χώρα/Περιοχή |
Ημερομηνία γέννησης |
Ημερομηνία πρόσληψης |
Κωστίδης |
Φαίδων |
1 Main St. |
New York |
USA |
05-Φεβ-1968 |
10-Ιουν-1994 |
Heloo |
Waleed |
52 1st St. |
Boston |
USA |
22-Μαΐου-1957 |
22-Νοε-1996 |
Guido |
Μανές |
3122 75th Ave. S.W. |
Seattle |
USA |
11-Νοε-1960 |
11-Μαρ-2000 |
Μπάγκελ |
Jean Philippe |
1 Contoso Blvd. |
London |
UK |
22-Μαρ-1964 |
22-Ιουν-1998 |
Τιμή |
Ιουλιανό |
Calle Smith 2 |
Mexico City |
Μεξικό |
05-Ιουν-1972 |
05-Ιαν-2002 |
Hughes |
Christine |
3122 75th St. S. |
Seattle |
USA |
23-Ιαν-1970 |
23-Απρ-1999 |
Riley |
Steve |
67 Big St. |
Tampa |
USA |
14-Απρ-1964 |
14-Οκτ-2004 |
Birkby |
Dana |
2 Nosey Pkwy |
Δράμα |
USA |
29-Οκτ-1959 |
29-Μαρ-1997 |
Μπάγκελ |
Jean Philippe |
1 Contoso Blvd. |
London |
UK |
22-Μαρ-1964 |
20-Ιουν-1998 |
Εάν θέλετε, μπορείτε να εισαγάγετε τα δεδομένα σε αυτό το δείγμα πίνακα με μη αυτόματο τρόπο ή μπορείτε να αντιγράψετε αυτόν τον πίνακα σε ένα πρόγραμμα υπολογιστικού φύλλου, όπως το Microsoft Excel και, στη συνέχεια, να εισαγάγετε το φύλλο εργασίας που προκύπτει σε έναν πίνακα στο Access.
Σημείωση: Εάν δεν έχετε ένα πρόγραμμα υπολογιστικού φύλλου, μπορείτε να αντιγράψετε το δείγμα δεδομένων σε ένα πρόγραμμα επεξεργασίας κειμένου, όπως το Σημειωματάριο. Για περισσότερες πληροφορίες σχετικά με την εισαγωγή δεδομένων κειμένου, ανατρέξτε στο άρθρο Εισαγωγή ή σύνδεση με δεδομένα σε αρχείο κειμένου.
Δημιουργία ενός ερωτήματος βασικών κορυφαίων τιμών
-
Στην καρτέλα Δημιουργία, στην ομάδα Ερωτήματα, κάντε κλικ στην επιλογή Σχεδίαση ερωτήματος.
-
Κάντε κλικ στον πίνακα που θέλετε να χρησιμοποιήσετε στο ερώτημα, κάντε κλικ στην επιλογή Προσθήκη για να τοποθετήσετε τον πίνακα στο πλέγμα σχεδίασης και, στη συνέχεια, κάντε κλικ στο κουμπί Κλείσιμο.
-ή-Κάντε διπλό κλικ στον πίνακα. Εάν χρησιμοποιείτε το δείγμα δεδομένων, προσθέστε τον πίνακα Employees στο ερώτημα. -
Προσθέστε τα πεδία που θέλετε να χρησιμοποιήσετε στο ερώτημά σας στο πλέγμα σχεδίασης. Μπορείτε να κάνετε διπλό κλικ σε κάθε πεδίο ή να σύρετε και να αποθέσετε κάθε πεδίο σε ένα κενό κελί στη γραμμή Πεδίο .
Εάν χρησιμοποιείτε το δείγμα πίνακα, προσθέστε τα πεδία "Όνομα", "Επώνυμο" και "Ημερομηνία γέννησης". -
Στο πεδίο που περιέχει τις πρώτες ή τις τελευταίες τιμές σας (το πεδίο Ημερομηνία γέννησης, εάν χρησιμοποιείτε το δείγμα πίνακα), κάντε κλικ στη γραμμή Ταξινόμηση και επιλέξτε Αύξουσα ή Φθίνουσα.
Εάν το πεδίο τιμών περιέχει αριθμούς, όπως τιμές ή ποσά πωλήσεων, η αύξουσα σειρά ταξινόμησης επιστρέφει τις χαμηλότερες τιμές και η φθίνουσα σειρά ταξινόμησης επιστρέφει τις υψηλότερες τιμές. Εάν το πεδίο τιμών περιέχει ημερομηνίες, η φθίνουσα σειρά ταξινόμησης επιστρέφει την πιο πρόσφατη ημερομηνία, ενώ η συνάρτηση Ascending επιστρέφει την παλαιότερη ημερομηνία.Σημαντικό: Πρέπει να ορίσετε τη γραμμή Ταξινόμηση σε Αύξουσα ή Φθίνουσα μόνο για τα πεδία που περιέχουν τις πρώτες ή τις τελευταίες τιμές σας. Εάν καθορίσετε μια σειρά ταξινόμησης για ένα πεδίο διαφορετικό από το πεδίο που περιέχει τις πρώτες ή τις τελευταίες τιμές σας — για παράδειγμα, Όνομα_προϊόντος αντί για Τιμή — το ερώτημα δεν θα επιστρέψει τα αποτελέσματα που θέλετε.
-
Στην καρτέλα Σχεδίαση , στην ομάδα Ρύθμιση ερωτήματος , κάντε κλικ στο κάτω βέλος δίπλα στην επιλογή Επιστροφή (λίστα Κορυφαίες τιμές ) και εισαγάγετε τον αριθμό ή το ποσοστό των εγγραφών που θέλετε να δείτε ή ορίστε μια επιλογή από τη λίστα.
-
Κάντε κλικ στην επιλογή Εκτέλεση για να εκτελέσετε το ερώτημα και να εμφανίσετε τα αποτελέσματα σε προβολή φύλλου δεδομένων.
-
Αποθηκεύστε το ερώτημα και διατηρήστε το ανοιχτό για χρήση στα επόμενα βήματα.
Μπορείτε να δείτε ότι αυτό το ερώτημα κορυφαίων τιμών μπορεί να απαντήσει σε βασικές ερωτήσεις, όπως ποιος είναι ο παλαιότερος ή ο νεότερος στην εταιρεία. Τα επόμενα βήματα εξηγούν πώς μπορείτε να χρησιμοποιήσετε παραστάσεις και άλλα κριτήρια για να προσθέσετε ισχύ και ευελιξία στο ερώτημα. Τα κριτήρια που εμφανίζονται στο επόμενο βήμα επιστρέφουν τα επόμενα τρία γενέθλια των υπαλλήλων.
Προσθήκη κριτηρίων στο ερώτημα
Σημείωση: Αυτά τα βήματα προϋποθέτουν ότι θα χρησιμοποιήσετε το ερώτημα που περιγράφεται στην προηγούμενη ενότητα.
-
Ανοίξτε, σε προβολή σχεδίασης, το ερώτημα που δημιουργήσατε στα προηγούμενα βήματα.
-
Στο πλέγμα σχεδίασης ερωτήματος, στη στήλη στα δεξιά της στήλης Ημερομηνία γέννησης, αντιγράψτε και επικολλήστε ή πληκτρολογήστε την παράσταση Παράσταση1: DatePart("μ";[Ημερομηνία γέννησης]). Η συνάρτηση DatePart εξάγει το τμήμα μήνα της τιμής στο πεδίο Ημερομηνία γέννησης.
-
Στα δεξιά της στήλης που περιέχει την παράστασή σας, αντιγράψτε και επικολλήστε ή πληκτρολογήστε την παράσταση Παράσταση2: DatePart("δ";[Ημερομηνία γέννησης]). Σε αυτή την περίπτωση, η συνάρτηση DatePart εξάγει το τμήμα ημέρας της τιμής στο πεδίο Ημερομηνία γέννησης.
-
Καταργήστε τα πλαίσια ελέγχου στη γραμμή Εμφάνιση για κάθε παράσταση και, στη συνέχεια, κάντε κλικ στο κελί Ταξινόμηση για κάθε παράσταση και επιλέξτε Αύξουσα.
-
Προαιρετικά, μπορείτε να καθορίσετε ένα κριτήριο για να περιορίσετε το εύρος του ερωτήματος. Όταν καθορίζετε κριτήρια, το ερώτημα ταξινομεί μόνο τις εγγραφές που πληρούν τα κριτήρια και προσδιορίζει τις πρώτες ή τις τελευταίες τιμές πεδίου μέσα από την ταξινομημένη λίστα.
Για να συνεχίσετε με το δείγμα δεδομένων, στη γραμμή Κριτήρια του πεδίου Ημερομηνία γέννησης, πληκτρολογήστε ή αντιγράψτε και επικολλήστε αυτή την παράσταση:Month([Ημερομηνία γέννησης]) > Month(Date()) Or Month([Birth Date])= Month(Date()) And Day([Birth Date])>Day(Date())
Αυτή η παράσταση κάνει τα εξής: Το τμήμα Month([BirthDate]) > Month(Date()) ελέγχει την ημερομηνία γέννησης κάθε υπαλλήλου για να δει εάν βρίσκεται σε μελλοντικό μήνα και, εάν είναι αληθές, περιλαμβάνει αυτές τις εγγραφές στο ερώτημα. Το τμήμα Month([BirthDate])= Month(Date()) And Day([BirthDate])>Day(Date()) της παράστασης ελέγχει τις ημερομηνίες γέννησης που προκύπτουν στον τρέχοντα μήνα για να δει εάν η ημερομηνία γέννησης είναι μεταγενέστερη της τρέχουσας ημερομηνίας. Εάν αυτή η συνθήκη είναι αληθής, η συνάρτηση περιλαμβάνει αυτές τις εγγραφές στα αποτελέσματα του ερωτήματος. Για σύνοψη, αυτή η παράσταση παραβλέπει οποιεσδήποτε εγγραφές όπου η ημερομηνία γέννησης βρίσκεται μεταξύ της 1ης Ιανουαρίου και της ημερομηνίας κατά την οποία εκτελείτε το ερώτημά σας.
Για να δείτε περισσότερα παραδείγματα παραστάσεων κριτηρίων ερωτήματος, ανατρέξτε στο άρθρο Παραδείγματα κριτηρίων ερωτήματος.
-
Στην καρτέλα Σχεδίαση , στην ομάδα Ρύθμιση ερωτήματος , κάντε κλικ στο κάτω βέλος δίπλα στην επιλογή Επιστροφή (λίστα Κορυφαίες τιμές ) και εισαγάγετε τον αριθμό ή το ποσοστό των εγγραφών που θέλετε να δείτε ή ορίστε μια επιλογή από τη λίστα.
-
Κάντε κλικ στην επιλογή Εκτέλεση για να εκτελέσετε το ερώτημα και να εμφανίσετε τα αποτελέσματα σε προβολή φύλλου δεδομένων.
Εάν το ερώτημά σας επιστρέφει περισσότερες εγγραφές από τις αναμενόμενες
Εάν τα δεδομένα σας περιέχουν εγγραφές που μοιράζονται μια τιμή ημερομηνίας, το ερώτημα κορυφαίων τιμών μπορεί να επιστρέψει περισσότερα δεδομένα από ό,τι περιμένατε. Για παράδειγμα, μπορείτε να σχεδιάσετε ένα ερώτημα κορυφαίων τιμών για να ανακτήσετε τρεις εγγραφές υπαλλήλων, αλλά στην πραγματικότητα βλέπετε τέσσερις επειδή οι λέξεις "Γουίλσον" και "Έντουαρντς" μοιράζονται γενέθλια. Αυτός ο τύπος ερωτήματος επιστρέφει όλες τις κορυφαίες τιμές, ανεξάρτητα από το πόσες εγγραφές έχουν αυτές τις τιμές. Για να αποκλείσετε διπλότυπες τιμές, μπορείτε να ορίσετε μια ιδιότητα που ονομάζεται Μοναδικές τιμές σε Ναι. Για πληροφορίες σχετικά με τη χρήση αυτής της ιδιότητας, ανατρέξτε στην ενότητα Εάν βλέπετε διπλότυπες εγγραφές, παρακάτω σε αυτό το άρθρο.
Επώνυμο |
Ημερομηνία_γέννησης |
Johnson |
9/26/1968 |
Jacobsen |
10/2/1970 |
Edwards |
10/15/1965 |
Wilson |
10/15/1969 |
Εάν το ερώτημά σας επιστρέφει λιγότερες εγγραφές από τις αναμενόμενες
Ας υποθέσουμε ότι σχεδιάζετε ένα ερώτημα για να επιστρέψει τις πέντε πρώτες ή τελευταίες εγγραφές σε ένα πεδίο, αλλά βλέπετε μόνο τρεις από τις εγγραφές. Κατά κανόνα, επιλύετε αυτόν τον τύπο προβλήματος ανοίγοντας το ερώτημα σε προβολή σχεδίασης και εξετάζοντας τη γραμμή Κριτήρια στο πλέγμα σχεδίασης για κριτήρια που είναι πιο περιοριστικά από τα προβλεπόμενα. Για περισσότερες πληροφορίες σχετικά με τα κριτήρια, ανατρέξτε στο άρθρο Παραδείγματα κριτηρίων ερωτήματος.
Εάν βλέπετε διπλότυπες εγγραφές
Εάν ένα ερώτημα κορυφαίων τιμών επιστρέφει διπλότυπες τιμές, οι υποκείμενοι πίνακες περιέχουν διπλότυπες εγγραφές ή οι εγγραφές φαίνεται να είναι διπλότυπες, επειδή το ερώτημα δεν περιλαμβάνει τα πεδία που μπορούν να διακρίνουν τις εγγραφές. Για παράδειγμα, ακολουθεί ένα ερώτημα που εμφανίζει τις πέντε παραγγελίες που στάλθηκαν πιο πρόσφατα, μαζί με το όνομα του πωλητή που χειρίστηκε τη συναλλαγή.
Ημερομηνία_αποστολής |
Πωλητής |
11/12/2004 |
Fontana |
11/12/2004 |
Moreno |
10/12/2004 |
Οσάντα |
10/12/2004 |
Οσάντα |
10/12/2004 |
Fontana |
Η τρίτη και τέταρτη εγγραφή φαίνεται να είναι διπλότυπες, αλλά πιθανώς επειδή ο πωλητής Osada χειρίστηκε δύο διαφορετικές παραγγελίες που στάλθηκαν την ίδια ημέρα.
Ανάλογα με τις απαιτήσεις σας, μπορείτε να κάνετε ένα από δύο πράγματα για να αποφύγετε την επιστροφή διπλότυπων εγγραφών. Μπορείτε να αλλάξετε τη σχεδίαση του ερωτήματος για να προσθέσετε πεδία που θα σας βοηθήσουν να ξεχωρίσετε τις εγγραφές, όπως τα πεδία "Κωδ_Παραγγελίας" και "Αναγνωριστικό Πελάτη". Εναλλακτικά, εάν αρκεί να δείτε μόνο μία από τις διπλότυπες εγγραφές, μπορείτε να εμφανίσετε μόνο διακριτές εγγραφές ορίζοντας την ιδιότητα Μοναδικές τιμές του ερωτήματος σε Ναι. Για να ορίσετε αυτή την ιδιότητα, σε προβολή σχεδίασης ερωτήματος, πατήστε το πλήκτρο F4 για να εμφανίσετε το φύλλο ιδιοτήτων για το ερώτημα, εντοπίστε την ιδιότητα Μοναδικές τιμές και ορίστε την σε Ναι.
Για περισσότερες πληροφορίες σχετικά με την αντιμετώπιση διπλότυπων εγγραφών, ανατρέξτε στο άρθρο Εύρεση διπλότυπων εγγραφών με ένα ερώτημα.
Εύρεση των πρώτων ή των τελευταίων τιμών για εγγραφές σε κατηγορίες ή ομάδες
Μπορείτε να βρείτε τις πρώτες ή τις τελευταίες τιμές για εγγραφές που εμπίπτουν σε ομάδες, δημιουργώντας ένα ερώτημα συνόλων. Καθώς προχωράτε, να θυμάστε ότι, από προεπιλογή, ένα ερώτημα συνόλων μπορεί να περιλαμβάνει μόνο το πεδίο ή τα πεδία που περιέχουν τα δεδομένα της ομάδας σας, όπως ένα πεδίο "κατηγορίες" και το πεδίο που έχει τις πρώτες ή τις τελευταίες τιμές, όπως ένα πεδίο "τιμή". Τα ερωτήματα συνόλων δεν μπορούν να περιλαμβάνουν άλλα πεδία που περιγράφουν τα στοιχεία σε μια κατηγορία. Ωστόσο, μπορείτε να δημιουργήσετε ένα δεύτερο ερώτημα που περιλαμβάνει πεδία από το ερώτημα συν πεδία από άλλους πίνακες που περιέχουν περιγραφικά δεδομένα.
Για παράδειγμα, ας υποθέσουμε ότι έχετε έναν πίνακα προϊόντων και αντιστοιχίζετε κάθε προϊόν σε μια κατηγορία, όπως Επιτραπέζια παιχνίδια, Παζλ και ούτω καθεξής. Εάν δημιουργήσετε ένα ερώτημα συνόλων για να προσδιορίσετε το πιο ακριβό προϊόν σε κάθε κατηγορία, το ερώτημα μπορεί να περιλαμβάνει μόνο το πεδίο ή τα πεδία που περιέχουν τα δεδομένα της κατηγορίας και το πεδίο που περιέχει τα δεδομένα τιμών. Για αυτό το παράδειγμα, ας υποθέσουμε ότι ένα πεδίο ονομάζεται "Όνομα κατηγορίας" και ένα πεδίο που ονομάζεται "Τιμή". Όταν εκτελείτε αυτόν τον τύπο ερωτήματος, η Access προσαρτά τις λέξεις "MaxOf" ή "MinOf" (ανάλογα με τη συνάρτηση που επιλέγετε) μέχρι την αρχή του πεδίου "Τιμή", ως εξής:
Όνομα κατηγορίας |
MaxOfPrice |
Επιτραπέζια παιχνίδια |
$55.00 |
Παζλ |
$43.90 |
Παιχνίδια υπολογιστή |
$263.50 |
Κούκλες |
$81.00 |
... |
... |
Το ερώτημα συνόλων δεν μπορεί να περιλαμβάνει άλλα πεδία που θα σας βοηθήσουν να περιγράψετε το προϊόν (και, επομένως, να κάνετε πιο κατανοητά τα δεδομένα), όπως ονόματα προϊόντων ή τα ονόματα των προμηθευτών, ως εξής:
Όνομα κατηγορίας |
MaxOfPrice |
Όνομα προϊόντος |
Όνομα προμηθευτή |
Επιτραπέζια παιχνίδια |
$55.000 |
Διασκέδαση με το συνδυασμό πλήκτρων C++ |
Proseware, Inc. |
Παζλ |
$43.90 |
Σχεσιακό διάγραμμα βάσης δεδομένων |
Εκδόσεις Λουκέρνης |
Παιχνίδια υπολογιστή |
$263.50 |
Σπασίκλες υπολογιστών και μυθικά πλάσματα |
Litware, Inc. |
Κούκλες |
$81.00 |
Εικόνα δράσης προγραμματιστή |
Contoso, Ltd |
... |
... |
... |
... |
Εάν θέλετε να δείτε αυτά τα περιγραφικά δεδομένα, μπορείτε να δημιουργήσετε ένα δεύτερο ερώτημα επιλογής που συνδυάζει τα πεδία στο ερώτημα συνόλων με τα πρόσθετα πεδία δεδομένων.
Τα βήματα σε αυτή την ενότητα εξηγούν πώς μπορείτε να δημιουργήσετε το ερώτημα συνόλων και να επιλέξετε το ερώτημα που απαιτείται για τον προσδιορισμό των ακριβότερων προϊόντων σε κάθε ένα σύνολο κατηγοριών. Τα βήματα θεωρούν ότι χρησιμοποιείτε τα παρακάτω δείγματα πινάκων:
Ο πίνακας "Κατηγορίες"
CategoryID |
Όνομα κατηγορίας |
Περιγραφή |
1 |
Επιτραπέζια παιχνίδια |
Όλες οι ηλικίες και τα επίπεδα δεξιοτήτων |
2 |
Παζλ |
Jigsaw, παζλ λέξεων, παιχνίδια παζλ |
3 |
Παιχνίδια υπολογιστή |
Όλες οι κονσόλες και τα επίπεδα δεξιοτήτων |
4 |
Κούκλες |
Φιγούρες δράσης, κούκλες μόδας |
5 |
Αθλητικός εξοπλισμός |
Μπάλες, ρούχα, δίχτυα |
6 |
Μοντέλα/Χόμπι |
Αεροπλάνα, αυτοκίνητα, τρένα |
Ο πίνακας "Προμηθευτές"
Κωδ_Προμηθευτή |
Όνομα προμηθευτή |
1 |
Fabrikam |
2 |
Tailspin Toys |
3 |
Northwind Traders |
4 |
Adventure Works |
5 |
Εκδόσεις Λουκέρνης |
6 |
Proseware, Inc. |
7 |
Contoso, Ltd |
8 |
Εισαγωγείς του Ευρέος Κόσμου |
9 |
Wingtip Toys |
10 |
Εισαγωγείς του Ευρέος Κόσμου |
11 |
Litware, Inc. |
12 |
Βίντεο Σάουθριτζ |
Ο πίνακας "Προϊόντα"
Όνομα προϊόντος |
Κωδ_Προμηθευτή |
CategoryID |
Τιμή |
Εικόνα δράσης προγραμματιστή |
7 |
4 |
$12.95 |
Διασκέδαση με το συνδυασμό πλήκτρων C++ |
6 |
1 |
$15.85 |
Σχεσιακό διάγραμμα βάσης δεδομένων |
5 |
2 |
$22.50 |
Το μαγικό τσιπ υπολογιστών |
3 |
2 |
$32.65 |
Πρόσβαση! Το παιχνίδι! |
1 |
1 |
$22.95 |
Σπασίκλες υπολογιστών και μυθικά πλάσματα |
11 |
3 |
$78.50 |
Άσκηση για geeks υπολογιστών! Το DVD! |
4 |
5 |
$14.88 |
Ultimate Ιπτάμενη Πίτσα |
2 |
5 |
$36.75 |
Εξωτερική μονάδα δισκέτας 5,25 ιντσών (κλίμακα 1/4) |
8 |
6 |
$65.00 |
Εικόνα μη ενέργειας διευθυντή |
9 |
4 |
$78.88 |
Κατήφεια |
12 |
3 |
$53.33 |
Δημιουργήστε το δικό σας πληκτρολόγιο |
1 |
6 |
$77.95 |
Σημείωση: Τα βήματα προϋποθέτουν επίσης μια σχέση ένα-προς-πολλά μεταξύ των πινάκων Κατηγορίες και Προϊόντα και το ίδιο μεταξύ των πινάκων Προμηθευτές και Προϊόντα. Σε αυτή την περίπτωση, οι πίνακες κάνουν κοινή χρήση των πεδίων "Κωδ_Προμηθευτή" και "Κωδ_Κατηγορίας". Το ερώτημα συνόλων που περιγράφεται στις επόμενες ενότητες δεν θα λειτουργήσει χωρίς τις σχέσεις.
Δημιουργία ερωτήματος συνόλων
-
Στην καρτέλα Δημιουργία, στην ομάδα Ερωτήματα, κάντε κλικ στην επιλογή Σχεδίαση ερωτήματος.
-
Επιλέξτε τους πίνακες με τους οποίους θέλετε να εργαστείτε, κάντε κλικ στην επιλογή Προσθήκη και, στη συνέχεια, κάντε κλικ στο κουμπί Κλείσιμο αφού ολοκληρώσετε την προσθήκη των πινάκων.
-ή-Κάντε διπλό κλικ στους πίνακες που θέλετε να χρησιμοποιήσετε και, στη συνέχεια, κάντε κλικ στο κουμπί Κλείσιμο. Κάθε πίνακας εμφανίζεται στο πλέγμα σχεδίασης. Εάν χρησιμοποιείτε τα δείγματα πινάκων που αναφέρονται παραπάνω, προσθέτετε τους πίνακες Κατηγορίες και Προϊόντα. -
Κάντε διπλό κλικ στα πεδία πίνακα που θέλετε να χρησιμοποιήσετε στο ερώτημά σας.
Σε αυτό το σημείο, βεβαιωθείτε ότι προσθέτετε μόνο τα πεδία ομάδας και το πεδίο τιμών στο ερώτημα. Εάν χρησιμοποιήσετε το δείγμα δεδομένων που παρατίθεται στον προηγούμενο πίνακα, προσθέστε το πεδίο Όνομα κατηγορίας από τον πίνακα Κατηγορίες και το πεδίο Τιμή από τον πίνακα Προϊόντα. -
Προαιρετικά, μπορείτε να καθορίσετε ένα κριτήριο για να περιορίσετε το εύρος του ερωτήματος.Παραδείγματα κριτηρίων ερωτήματος.
Μόνο οι εγγραφές που πληρούν τα κριτήρια θα ταξινομηθούν και οι πρώτες και οι τελευταίες τιμές πεδίου θα προσδιορίζονται μέσα σε αυτήν την ταξινομημένη λίστα. Για παράδειγμα, για να εξαιρέσετε προϊόντα στην κατηγορία Αθλητισμός, προσθέστε αυτή την παράσταση στη γραμμή Κριτήρια του πεδίου Όνομα κατηγορίας: <>"Αθλήματα". Για να δείτε περισσότερα παραδείγματα παραστάσεων κριτηρίων ερωτήματος, ανατρέξτε στο άρθρο -
Μετατρέψτε το ερώτημα σε ερώτημα συνόλων.
-
Στην καρτέλα Σχεδίαση, στην ομάδα Εμφάνιση/απόκρυψη, κάντε κλικ στο στοιχείο Σύνολα.
Η γραμμή Σύνολο εμφανίζεται στο πλέγμα σχεδίασης.
-
-
Βεβαιωθείτε ότι το κελί Σύνολο κάθε πεδίου ομάδας έχει οριστεί σε Ομαδοποίηση κατά και, στη συνέχεια, ορίστε το κελί Σύνολο του πεδίου τιμών (το πεδίο που περιέχει τις πρώτες ή τις τελευταίες τιμές) σε Μέγιστο ή Ελάχιστο.
Η επιλογή Max επιστρέφει τη μεγαλύτερη τιμή σε ένα αριθμητικό πεδίο και την πιο πρόσφατη τιμή ημερομηνίας ή ώρας σε ένα πεδίο ημερομηνίας/ώρας. Η επιλογή Min επιστρέφει τη μικρότερη τιμή σε ένα αριθμητικό πεδίο και την παλαιότερη τιμή ημερομηνίας ή ώρας σε ένα πεδίο ημερομηνίας/ώρας. Εάν χρησιμοποιήσετε το δείγμα δεδομένων, ορίστε το κελί "Σύνολο " του πεδίου "Όνομα κατηγορίας" σε "Ομαδοποίηση κατά" και το κελί "Σύνολο " του πεδίου "Τιμή" σε "Μέγιστο " ή " Ελάχιστο". -
Στην καρτέλα Σχεδίαση , στην ομάδα Εργαλεία , βεβαιωθείτε ότι η λίστα Return έχει οριστεί σε Όλα και, στη συνέχεια, κάντε κλικ στην επιλογή Εκτέλεση για να εκτελέσετε το ερώτημα και να εμφανίσετε τα αποτελέσματα σε προβολή φύλλου δεδομένων.
Σημείωση: Ανάλογα με τη συνάρτηση που επιλέξατε στο βήμα 7, η Access αλλάζει το όνομα του πεδίου τιμών στο ερώτημα σε MaxOfFieldName ή MinOfFieldName. Εάν χρησιμοποιείτε τα δείγματα πινάκων, η Access μετονομάζει το πεδίο MaxOfPrice ή MinOfPrice.
-
Αποθηκεύστε το ερώτημα και προχωρήστε στα επόμενα βήματα.
Το ερώτημα δεν επιστρέφει ονόματα προϊόντων ή άλλες πληροφορίες σχετικά με τα προϊόντα. Για να δείτε αυτά τα πρόσθετα δεδομένα, πρέπει να δημιουργήσετε ένα δεύτερο ερώτημα που ενσωματώνει το ερώτημα που μόλις δημιουργήσατε. Τα επόμενα βήματα εξηγούν πώς μπορείτε να δημιουργήσετε αυτό το δεύτερο ερώτημα.
Δημιουργία ένα δεύτερο ερώτημα για την προβολή περισσότερων δεδομένων
-
Στην καρτέλα Δημιουργία, στην ομάδα Ερωτήματα, κάντε κλικ στην επιλογή Σχεδίαση ερωτήματος.
-
Κάντε κλικ στην καρτέλα Ερωτήματα και, στη συνέχεια, κάντε διπλό κλικ στο ερώτημα συνόλων που δημιουργήσατε στην προηγούμενη ενότητα.
-
Κάντε κλικ στην καρτέλα Πίνακες και προσθέστε τους πίνακες που χρησιμοποιήσατε στο ερώτημα συν τους πίνακες που περιέχουν τα άλλα σχετικά δεδομένα που θέλετε να δείτε.
Εάν χρησιμοποιείτε τα δείγματα πινάκων που παρατίθενται παραπάνω, προσθέτετε τους πίνακες Κατηγορίες, Προϊόντα και Προμηθευτές στο νέο ερώτημα. -
Συνδέστε τα πεδία του ερωτήματος συνόλων με τα αντίστοιχα πεδία στους γονικούς πίνακες. Για να το κάνετε αυτό, σύρετε κάθε πεδίο στο ερώτημα συνόλων στο αντίστοιχο πεδίο του πίνακα.
Εάν χρησιμοποιείτε το δείγμα δεδομένων, σύρετε το πεδίο Όνομα κατηγορίας στο ερώτημα συνόλων στο πεδίο Όνομα κατηγορίας στον πίνακα Κατηγορίες. Στη συνέχεια, σύρετε το πεδίο MaxOfPrice στο ερώτημα συνόλων στο πεδίο Τιμή στον πίνακα Προϊόντα. Οι σύνδεσμοι επιτρέπουν στο νέο ερώτημα επιλογής να συγκεντρώσει τα δεδομένα στο ερώτημα συνόλων και τα δεδομένα στους άλλους πίνακες.
-
Στο παράθυρο για το ερώτημα συνόλων, κάντε διπλό κλικ στον αστερίσκο για να προσθέσετε ολόκληρο το ερώτημα στο πλέγμα σχεδίασης και, στη συνέχεια, σύρετε τα πρόσθετα πεδία από τους άλλους πίνακες στο ερώτημα.
Εάν χρησιμοποιείτε τα δείγματα πινάκων, κάντε διπλό κλικ στο ερώτημα συνόλων που δημιουργήσατε στην προηγούμενη ενότητα και, στη συνέχεια, προσθέστε τα πεδία Όνομα προϊόντος και Προμηθευτής από τον πίνακα Προϊόντα και προμηθευτές, αντίστοιχα.
-
Προαιρετικά, καθορίστε μια σειρά ταξινόμησης για μία ή περισσότερες από τις στήλες.
Για παράδειγμα, για να παρατίθενται οι κατηγορίες με αλφαβητική σειρά, ορίστε το κελί Ταξινόμηση της στήλης Όνομα κατηγορίας σε Αύξουσα. -
Στην καρτέλα Σχεδίαση, στην ομάδα Αποτελέσματα, κάντε κλικ στην εντολή Εκτέλεση.
Αυτή η ενέργεια εκτελεί το ερώτημα και εμφανίζει τα αποτελέσματα σε προβολή φύλλου δεδομένων.
Συμβουλή: Εάν δεν θέλετε η επικεφαλίδα της στήλης Τιμή να εμφανίζεται ως MaxOfPrice ή MinOfPrice, ανοίξτε το ερώτημα σε προβολή σχεδίασης και, στη στήλη Τιμή στο πλέγμα, πληκτρολογήστε Τιμή: MaxOfPrice ή Τιμή: MinOfPrice. Με αυτόν τον τρόπο, η τιμή εμφανίζεται ως επικεφαλίδα της στήλης στην προβολή φύλλου δεδομένων.
Εύρεση των εγγραφών που περιέχουν τις πρώτες και τις τελευταίες τιμές
Τα ερωτήματα που δημιουργήσατε προηγουμένως σε αυτό το άρθρο μπορούν να επιστρέψουν τις πρώτες ή τις τελευταίες τιμές, αλλά όχι και τις δύο. Εάν θέλετε να δείτε και τα δύο σύνολα τιμών σε μία μόνο προβολή, πρέπει να δημιουργήσετε δύο ερωτήματα — ένα που ανακτά τις κορυφαίες τιμές και ένα άλλο που ανακτά τις τελευταίες τιμές — και, στη συνέχεια, να συγχωνεύσετε και να αποθηκεύσετε τα αποτελέσματα σε έναν μόνο πίνακα.
Η διαδικασία εύρεσης των πρώτων και των τελευταίων τιμών και εμφάνισης αυτών των δεδομένων σε έναν πίνακα ακολουθεί τα εξής γενικά βήματα:
-
Δημιουργία ένα ερώτημα κορυφαίων τιμών και ένα ερώτημα κατώτατων τιμών ή, εάν θέλετε να ομαδοποιήσετε τα δεδομένα σας, δημιουργήστε ερωτήματα συνόλων που χρησιμοποιούν τις συναρτήσεις Min και Max.
-
Μετατρέψτε το ερώτημα κορυφαίων τιμών (ή το ερώτημα Max totals) σε ένα ερώτημα δημιουργίας πίνακα και εκτελέστε αυτό το ερώτημα για να δημιουργήσετε έναν νέο πίνακα.
-
Μετατρέψτε το ερώτημα κατώτατων τιμών (ή το ερώτημα Min totals) σε ένα ερώτημα προσάρτησης και εκτελέστε αυτό το ερώτημα για να προσαρτήσετε τις εγγραφές στον πίνακα κορυφαίων τιμών.
Τα βήματα σε αυτές τις ενότητες εξηγούν τον τρόπο δημιουργίας του ερωτήματος.
Σημείωση: Εκτός εάν η βάση δεδομένων σας είναι ψηφιακά υπογεγραμμένη ή βρίσκεται σε μια αξιόπιστη θέση, η Access δεν σας επιτρέπει να εκτελέσετε τα ερωτήματα ενέργειας που περιγράφονται εδώ. Ακολουθήστε τα πρώτα βήματα για να ενεργοποιήσετε οποιοδήποτε αποκλεισμένο περιεχόμενο προτού προσπαθήσετε να δημιουργήσετε τα ερωτήματα δημιουργίας πίνακα και προσάρτησης που περιγράφονται εδώ.
Ενεργοποίηση του περιεχομένου σε μια βάση δεδομένων
-
Στη γραμμή μηνυμάτων, κάντε κλικ στο κουμπί Ενεργοποίηση περιεχομένου.
-
Εκτελέστε ξανά το ερώτημα.
-
-
Δημιουργία τα ερωτήματα πρώτων και τελευταίων τιμών.
Για τα βήματα που απαιτούνται για τη δημιουργία ενός ερωτήματος πρώτων ή τελευταίων τιμών, ανατρέξτε στην ενότητα Εύρεση των εγγραφών με τις πρώτες ή τις τελευταίες τιμές, παραπάνω σε αυτό το άρθρο. Εάν θέλετε να ομαδοποιήσετε τις εγγραφές σας ανά κατηγορία, ανατρέξτε στην ενότητα Εύρεση των πρώτων ή των τελευταίων τιμών για εγγραφές σε κατηγορίες ή ομάδες, παραπάνω σε αυτό το άρθρο.
-
Αποθηκεύστε κάθε ερώτημα και αφήστε το ανοιχτό για χρήση στα επόμενα βήματα.
Δημιουργία ερωτήματος δημιουργίας πίνακα
-
Με το ερώτημα κορυφαίων τιμών ανοιχτό σε προβολή σχεδίασης:
Στην καρτέλα Σχεδίαση, στην ομάδα Τύπος ερωτήματος, κάντε κλικ στην επιλογή Δημιουργία πίνακα.
Εμφανίζεται το παράθυρο διαλόγου Δημιουργία πίνακα . -
Στο πλαίσιο Όνομα πίνακα , πληκτρολογήστε ένα όνομα για τον πίνακα που θα αποθηκεύσει τις πρώτες και τις τελευταίες εγγραφές. Για παράδειγμα, πληκτρολογήστε Πρώτες και Τελευταίες εγγραφές και, στη συνέχεια, κάντε κλικ στο κουμπί OK.
Κάθε φορά που εκτελείτε το ερώτημα, αντί να εμφανίζετε τα αποτελέσματα σε προβολή φύλλου δεδομένων, το ερώτημα δημιουργεί έναν πίνακα και αντικαθιστά την πρώτη τιμή με τα τρέχοντα δεδομένα. -
Αποθηκεύστε και κλείστε το ερώτημα.
Δημιουργία ερωτήματος προσάρτησης
-
Ανοίξτε το ερώτημα κατώτατης τιμής σε προβολή σχεδίασης.
-
Στην καρτέλα Σχεδίαση, στη λίστα Τύπος ερωτήματος, κάντε κλικ στην εντολή Προσάρτηση.
-
Στο παράθυρο διαλόγου Προσάρτηση , πληκτρολογήστε το ίδιο όνομα που πληκτρολογήσατε στο παράθυρο διαλόγου Δημιουργία πίνακα .
Για παράδειγμα, πληκτρολογήστε Πρώτες και Τελευταίες εγγραφές και, στη συνέχεια, κάντε κλικ στο κουμπί OK. Κάθε φορά που εκτελείτε το ερώτημα, αντί να εμφανίζονται τα αποτελέσματα σε προβολή φύλλου δεδομένων, το ερώτημα προσαρτά τις εγγραφές στον πίνακα Κορυφαίες και Τελευταίες εγγραφές. -
Αποθηκεύστε και κλείστε το ερώτημα.
Εκτέλεση των ερωτημάτων
Τώρα είστε έτοιμοι να εκτελέσετε τα δύο ερωτήματα.
-
Στο παράθυρο περιήγησης, κάντε διπλό κλικ στο ερώτημα επάνω τιμής και κάντε κλικ στην επιλογή Ναι στα μηνύματα.
-
Κάντε διπλό κλικ στο ερώτημα Κάτω τιμή και κάντε κλικ στην επιλογή Ναι στα μηνύματα.
-
Ανοίξτε τον επάνω και κάτω πίνακα εγγραφών σε προβολή φύλλου δεδομένων.