Μπορείτε να χρησιμοποιήσετε τη συνάρτηση DCount για να προσδιορίσετε τον αριθμό των εγγραφών που βρίσκονται σε ένα καθορισμένο σύνολο εγγραφών ( τομέας ). Χρησιμοποιήστε τη συνάρτηση DCount σε μια λειτουργική μονάδα VBA (Visual Basic for Applications), μια μακροεντολή, μια παράσταση ερωτήματος ή μια στοιχείο ελέγχου υπολογισμού.
Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τη συνάρτηση 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 . Το παρακάτω παράδειγμα υπολογίζει τον αριθμό των εγγραφών σε έναν πίνακα "Παραγγελίες".
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")
Σημείωση: Το εμπορικό "και" είναι ο προτιμώμενος τελεστής για την εκτέλεση συνένωσης συμβολοσειρών. Θα πρέπει να αποφύγετε τη χρήση του τελεστή πρόσθεσης για οτιδήποτε άλλο εκτός από την αριθμητική πρόσθεση, εκτός εάν θέλετε συγκεκριμένα να μεταδώσετε την τιμή Null σε μια παράσταση.
Οι μη αποθηκευμένες αλλαγές στις εγγραφές στον τομέα δεν περιλαμβάνονται κατά τη χρήση αυτής της συνάρτησης. Εάν θέλετε η συνάρτηση DCount να βασίζεται στις τροποποιημένες τιμές, πρέπει πρώτα να αποθηκεύσετε τις αλλαγές κάνοντας κλικ στην επιλογή Αποθήκευση εγγραφής στην περιοχή Εγγραφές στην καρτέλα Δεδομένα , μετακινώντας την εστίαση σε άλλη εγγραφή ή χρησιμοποιώντας τη μέθοδο Update .
Παραδείγματα ερωτημάτων
Expression |
Αποτελέσματα |
SELECT DCount("ProductID","ProductSales";"Discount=0") AS Expr1 FROM ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0"); |
Επιστρέφει το πλήθος των τιμών στο πεδίο "Κωδ_Προϊόντος" του πίνακα "ΠωλήσειςΠροϊόντων" όπου η τιμή "Έκπτωση" είναι "0". |
SELECT DCount("ProductID";"ΠωλήσειςΠροϊόντων";"DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("ProductID";"ΠωλήσειςΠροϊόντων";"DateofSale=Date()-1"); |
Επιστρέφει το πλήθος των τιμών στο πεδίο "Κωδ_Προϊόντος" του πίνακα "Πωλήσεις_προϊόντων", όπου η τιμή "DateofSale" είναι μια ημέρα πριν από την τρέχουσα ημερομηνία. |
Παράδειγμα VBA
Σημείωση: Παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε μια λειτουργική μονάδα Visual Basic for Applications (VBA). Για περισσότερες πληροφορίες σχετικά με την εργασία με τη VBA, επιλέξτε Αναφορά προγραμματιστών στην αναπτυσσόμενη λίστα δίπλα στην Αναζήτηση και πληκτρολογήστε έναν ή περισσότερους όρους στο πλαίσιο αναζήτησης.
Η παρακάτω συνάρτηση επιστρέφει τον αριθμό των παραγγελιών που αποστέλλονται σε μια συγκεκριμένη χώρα/περιοχή μετά από μια καθορισμένη ημερομηνία αποστολής. Ο τομέας είναι ένας πίνακας "Παραγγελίες".
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#