Μπορείτε να χρησιμοποιήσετε τη συνάρτηση DCount για να προσδιορίσετε τον αριθμό των εγγραφών που βρίσκονται σε ένα συγκεκριμένο σύνολο εγγραφών (τομέας). Χρησιμοποιήστε τη συνάρτηση DCount σε μια λειτουργική μονάδα Visual Basic for Applications (VBA), μια μακροεντολή, μια παράσταση ερωτήματος ή ένα στοιχείο ελέγχου υπολογισμού.
Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τη συνάρτηση DCount σε μια λειτουργική μονάδα για να λάβετε το πλήθος των εγγραφών σε έναν πίνακα "Παραγγελίες" που αντιστοιχούν σε παραγγελίες που έχουν πραγματοποιηθεί σε μια συγκεκριμένη ημερομηνία.
Σύνταξη
DCount(παράσταση; τομέας* [; κριτήρια] )
Η σύνταξη της συνάρτησης DCount περιλαμβάνει τα παρακάτω ορίσματα:
| Επιχείρημα | Περιγραφή |
|---|---|
| Παράσταση | Υποχρεωτικό. Μια παράσταση που προσδιορίζει το πεδίο για το οποίο θέλετε να καταμετρήσετε εγγραφές. Μπορεί να είναι μια παράσταση συμβολοσειράς που προσδιορίζει ένα πεδίο σε έναν πίνακα ή ερώτημα ή μπορεί να είναι μια παράσταση που εκτελεί έναν υπολογισμό των δεδομένων σε αυτό το πεδίο. Στην έκφραση, μπορείτε να συμπεριλάβετε το όνομα ενός πεδίου σε έναν πίνακα, ένα στοιχείο ελέγχου σε μια φόρμα, μια σταθερά ή μια συνάρτηση. Εάν η παράσταση περιλαμβάνει μια συνάρτηση, μπορεί να είναι είτε ενσωματωμένη είτε καθορισμένη από το χρήστη, αλλά όχι άλλη συγκεντρωτική τιμή τομέα ή συνάρτηση συγκεντρωτικών αποτελεσμάτων SQL. |
| τομέας | Υποχρεωτικό. Μια παράσταση συμβολοσειράς που προσδιορίζει το σύνολο των εγγραφών που αποτελεί τον τομέα. Μπορεί να είναι ένα όνομα πίνακα ή ένα όνομα ερωτήματος για ένα ερώτημα που δεν απαιτεί παράμετρο. |
| κριτήρια | Προαιρετικό. Μια παράσταση συμβολοσειράς που χρησιμοποιείται για τον περιορισμό της περιοχής δεδομένων στην οποία εκτελείται η συνάρτηση DCount . Για παράδειγμα, τα κριτήρια είναι συχνά ισοδύναμα με τον όρο WHERE σε μια παράσταση SQL, χωρίς τη λέξη WHERE. Εάν παραλειφθεί το όρισμα κριτήρια , η συνάρτηση DCount αξιολογεί την παράσταση σε σχέση με ολόκληρο τον τομέα. Κάθε πεδίο που περιλαμβάνεται στα κριτήρια πρέπει επίσης να είναι πεδίο στον τομέα. Διαφορετικά, η συνάρτηση DCount επιστρέφει την τιμή Null. |
Παρατηρήσεις
Χρησιμοποιήστε τη συνάρτηση DCount για να μετρήσετε τον αριθμό των εγγραφών σε έναν τομέα όταν δεν χρειάζεται να γνωρίζετε τις συγκεκριμένες τιμές τους. Παρόλο που το όρισμα παράσταση μπορεί να εκτελέσει έναν υπολογισμό σε ένα πεδίο, η συνάρτηση DCount απλώς υπολογίζει τον αριθμό των εγγραφών. Η τιμή οποιουδήποτε υπολογισμού που εκτελείται από την παράσταση δεν είναι διαθέσιμη.
Χρησιμοποιήστε τη συνάρτηση DCount σε ένα στοιχείο ελέγχου υπολογισμού, όταν πρέπει να καθορίσετε κριτήρια για να περιορίσετε την περιοχή δεδομένων στην οποία εκτελείται η συνάρτηση. Για παράδειγμα, για να εμφανίσετε τον αριθμό των παραγγελιών που θα αποσταλούν στην Καλιφόρνια, ορίστε την ιδιότητα ControlSource ενός πλαισίου κειμένου στην ακόλουθη παράσταση:
=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")
Εάν θέλετε απλώς να καταμετρήσετε όλες τις εγγραφές στον τομέα χωρίς να καθορίσετε περιορισμούς, χρησιμοποιήστε τη συνάρτηση Count .
Συμβουλή Η συνάρτηση Count έχει βελτιστοποιηθεί για την ταχύτερη καταμέτρηση των εγγραφών σε ερωτήματα. Χρησιμοποιήστε τη συνάρτηση Count σε μια παράσταση ερωτήματος αντί της συνάρτησης DCount και ορίστε προαιρετικά κριτήρια για να επιβάλετε περιορισμούς στα αποτελέσματα. Χρησιμοποιήστε τη συνάρτηση DCount όταν πρέπει να καταμετρήσετε τις εγγραφές σε έναν τομέα μέσα από μια λειτουργική μονάδα κώδικα ή μια μακροεντολή ή από ένα στοιχείο ελέγχου υπολογισμού.
Μπορείτε να χρησιμοποιήσετε τη συνάρτηση DCount για να μετρήσετε τον αριθμό των εγγραφών που περιέχουν ένα συγκεκριμένο πεδίο το οποίο δεν βρίσκεται στην προέλευση εγγραφών στην οποία βασίζεται η φόρμα ή η έκθεση. Για παράδειγμα, μπορείτε να εμφανίσετε τον αριθμό των παραγγελιών στον πίνακα "Παραγγελίες" σε ένα στοιχείο ελέγχου υπολογισμού μιας φόρμας που βασίζεται στον πίνακα "Προϊόντα".
Η συνάρτηση DCount δεν καταμετρά εγγραφές που περιέχουν τιμές Null στο πεδίο στο οποίο γίνεται αναφορά από την παράσταση, εκτός εάν η παράσταση είναι ο χαρακτήρας μπαλαντέρ αστερίσκου (*) . Εάν χρησιμοποιείτε αστερίσκο, η συνάρτηση DCount υπολογίζει τον συνολικό αριθμό των εγγραφών, συμπεριλαμβανομένων και αυτών που περιέχουν πεδία Null . Το ακόλουθο παράδειγμα υπολογίζει τον αριθμό των εγγραφών σε έναν πίνακα του πίνακα Orders.
intX = DCount("*", "Orders")
Εάν το όρισμα τομέας είναι πίνακας με πρωτεύον κλειδί, μπορείτε επίσης να μετρήσετε τον συνολικό αριθμό εγγραφών, ορίζοντας την παράσταση στο πεδίο του πρωτεύοντος κλειδιού, εφόσον δεν θα υπάρχει ποτέ τιμή Null στο πεδίο του πρωτεύοντος κλειδιού.
Εάν η παράσταση προσδιορίζει πολλά πεδία, διαχωρίστε τα ονόματα των πεδίων με έναν τελεστή συνένωσης, είτε έναν τελεστή εμπορικού "και" (&) είτε τον τελεστή πρόσθεσης (+). Εάν χρησιμοποιήσετε ένα εμπορικό "και" για να διαχωρίσετε τα πεδία, η συνάρτηση DCount επιστρέφει τον αριθμό των εγγραφών που περιέχουν δεδομένα σε οποιοδήποτε από τα πεδία της λίστας. Εάν χρησιμοποιήσετε τον τελεστή πρόσθεσης, η συνάρτηση DCount επιστρέφει μόνο τον αριθμό των εγγραφών που περιέχουν δεδομένα σε όλα τα πεδία που παρατίθενται. Το παρακάτω παράδειγμα παρουσιάζει τα αποτελέσματα κάθε τελεστή όταν χρησιμοποιείται με ένα πεδίο που περιέχει δεδομένα σε όλες τις εγγραφές (ShipName) και ένα πεδίο που δεν περιέχει δεδομένα (ShipRegion).
intW = DCount("[ShipName]", "Orders")
intX = DCount("[ShipRegion]", "Orders")
intY = DCount("[ShipName] + [ShipRegion]", "Orders")
intZ = DCount("[ShipName] & [ShipRegion]", "Orders")
Σημείωση
Το εμπορικό "και" είναι ο προτιμώμενος τελεστής για την εκτέλεση της συνένωσης συμβολοσειρών. Θα πρέπει να αποφύγετε τη χρήση του τελεστή πρόσθεσης για οτιδήποτε άλλο εκτός από αριθμητική πρόσθεση, εκτός αν θέλετε συγκεκριμένα να μεταδώσετε Nulls μέσω μιας παράστασης.
Οι μη αποθηκευμένες αλλαγές στις εγγραφές του τομέα δεν περιλαμβάνονται όταν χρησιμοποιείτε αυτήν τη συνάρτηση. Εάν θέλετε η συνάρτηση DCount να βασίζεται στις τιμές που έχουν αλλάξει, πρέπει πρώτα να αποθηκεύσετε τις αλλαγές κάνοντας κλικ στην επιλογή Save Record στην περιοχή Records της καρτέλας Data , μετακινώντας την εστίαση σε άλλη εγγραφή ή χρησιμοποιώντας τη μέθοδο Update .
Παραδείγματα ερωτήματος
| Έκφραση | Αποτελέσματα |
|---|---|
| SELECT DCount("Κωδ_Προϊόντος";"Πωλήσεις_Προϊόντος";"Έκπτωση=0") AS Παράσταση1 FROM ProductSales GROUP BY DCount("Κωδ_Προϊόντος", "Πωλήσεις_Προϊόντος", "Έκπτωση=0"); | Επιστρέφει το πλήθος των τιμών στο πεδίο "Κωδ_Προϊόντος" του πίνακα "Πωλήσεις_Προϊόντων", όπου η τιμή της "Έκπτωσης" είναι "0". |
| SELECT DCount("Κωδ_Προϊόντος", "Πωλήσεις_προϊόντων", "DateOfSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("Κωδ_Προϊόντος", "Πωλήσεις_προϊόντων", "DateOfSale=Date()-1"); | Επιστρέφει το πλήθος των τιμών στο πεδίο "Κωδ_Προϊόντος" του πίνακα "ΠωλήσειςΠροϊόντων", όπου το στοιχείο "ΗμερομηνίαΠώλησης" είναι μια ημέρα πριν από την τρέχουσα ημερομηνία. |
Παράδειγμα VBA
Σημείωση
Τα παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε μια λειτουργική μονάδα Visual Basic for Applications (VBA). Για περισσότερες πληροφορίες σχετικά με την εργασία με τη VBA, επιλέξτε " Αναφορά προγραμματιστών " στην αναπτυσσόμενη λίστα δίπλα στην επιλογή "Αναζήτηση " και εισαγάγετε έναν ή περισσότερους όρους στο πλαίσιο αναζήτησης.
Η ακόλουθη συνάρτηση επιστρέφει τον αριθμό των παραγγελιών που στάλθηκαν σε μια καθορισμένη χώρα/περιοχή μετά από μια καθορισμένη ημερομηνία αποστολής. Ο τομέας είναι ένας πίνακας Orders.
Public Function OrdersCount _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Integer
OrdersCount = DCount("[ShippedDate]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"' AND [ShippedDate] > #" & dteShipDate & "#")
End Function
Για να καλέσετε τη συνάρτηση, χρησιμοποιήστε την ακόλουθη γραμμή κώδικα στο Άμεσο παράθυρο:
:OrdersCount "UK", #1/1/96#