Συνάρτηση DSum

Ισχύει για
Access για Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Μπορείτε να χρησιμοποιήσετε τη συνάρτηση DSum για να υπολογίσετε το άθροισμα ενός συνόλου τιμών ενός συγκεκριμένου συνόλου εγγραφών (τομέα). Χρησιμοποιήστε τη συνάρτηση DSum σε μια λειτουργική μονάδα Visual Basic for Applications (VBA), μια μακροεντολή, μια παράσταση ερωτήματος ή ένα στοιχείο ελέγχου υπολογισμού.

Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τη συνάρτηση DSum σε μια παράσταση πεδίου υπολογισμού σε ένα ερώτημα για να υπολογίσετε τις συνολικές πωλήσεις που πραγματοποιήθηκαν από έναν συγκεκριμένο υπάλληλο σε μια χρονική περίοδο. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τη συνάρτηση DSum σε ένα στοιχείο ελέγχου υπολογισμού για να εμφανίσετε ένα τρέχον άθροισμα πωλήσεων για ένα συγκεκριμένο προϊόν.

Σύνταξη

DSum(παράσταση; τομέας [; κριτήρια] )

Η σύνταξη της συνάρτησης DSum περιλαμβάνει τα παρακάτω ορίσματα:

Επιχείρημα Περιγραφή
Παράσταση Υποχρεωτικό. Μια παράσταση που προσδιορίζει το αριθμητικό πεδίο του οποίου τις τιμές θέλετε να αθροίσετε. Μπορεί να είναι μια παράσταση συμβολοσειράς που προσδιορίζει ένα πεδίο σε έναν πίνακα ή ερώτημα ή μπορεί να είναι μια παράσταση που εκτελεί έναν υπολογισμό των δεδομένων σε αυτό το πεδίο. Στην έκφραση, μπορείτε να συμπεριλάβετε το όνομα ενός πεδίου σε έναν πίνακα, ένα στοιχείο ελέγχου σε μια φόρμα, μια σταθερά ή μια συνάρτηση. Εάν η παράσταση περιλαμβάνει μια συνάρτηση, μπορεί να είναι είτε ενσωματωμένη είτε καθορισμένη από το χρήστη, αλλά όχι άλλη συγκεντρωτική τιμή τομέα ή συνάρτηση συγκεντρωτικών αποτελεσμάτων SQL.
τομέας Υποχρεωτικό. Μια παράσταση συμβολοσειράς που προσδιορίζει το σύνολο των εγγραφών που αποτελεί τον τομέα. Μπορεί να είναι ένα όνομα πίνακα ή ένα όνομα ερωτήματος για ένα ερώτημα που δεν απαιτεί παράμετρο.
κριτήρια Προαιρετικό. Μια παράσταση συμβολοσειράς που χρησιμοποιείται για τον περιορισμό της περιοχής δεδομένων στην οποία εκτελείται η συνάρτηση DSum . Για παράδειγμα, τα κριτήρια είναι συχνά ισοδύναμα με τον όρο WHERE σε μια παράσταση SQL, χωρίς τη λέξη WHERE. Εάν παραλειφθεί το όρισμα κριτήρια , η συνάρτηση DSum αξιολογεί την παράσταση σε σχέση με ολόκληρο τον τομέα. Κάθε πεδίο που περιλαμβάνεται στα κριτήρια πρέπει επίσης να είναι πεδίο στον τομέα. Διαφορετικά, η συνάρτηση DSum επιστρέφει την τιμή Null.

    

Παρατηρήσεις

Εάν καμία εγγραφή δεν ικανοποιεί το όρισμα κριτήρια ή εάν ο τομέας δεν περιέχει εγγραφές, η συνάρτηση DSum επιστρέφει την τιμή Null.

Ανεξάρτητα αν χρησιμοποιείτε τη συνάρτηση DSum σε μια μακροεντολή, λειτουργική μονάδα, παράσταση ερωτήματος ή στοιχείο ελέγχου υπολογισμού, πρέπει να δημιουργήσετε προσεκτικά το όρισμα κριτήρια για να διασφαλίσετε ότι θα αξιολογηθεί σωστά.

Μπορείτε να χρησιμοποιήσετε τη συνάρτηση DSum για να καθορίσετε κριτήρια στη γραμμή "Κριτήρια" ενός ερωτήματος, σε ένα πεδίο υπολογισμού σε μια παράσταση ερωτήματος ή στη γραμμή " Ενημέρωση σε " ενός ερωτήματος ενημέρωσης.

Σημείωση

Μπορείτε να χρησιμοποιήσετε είτε τη συνάρτηση DSum είτε τη συνάρτηση Sum σε μια παράσταση πεδίου υπολογισμού σε ένα ερώτημα συνόλων. Εάν χρησιμοποιείτε τη συνάρτηση DSum , οι τιμές υπολογίζονται πριν από την ομαδοποίηση των δεδομένων. Εάν χρησιμοποιείτε τη συνάρτηση Sum , τα δεδομένα ομαδοποιούνται πριν από τον υπολογισμό των τιμών της παράστασης πεδίου.

Μπορεί να θέλετε να χρησιμοποιήσετε τη συνάρτηση DSum όταν θέλετε να εμφανίσετε το άθροισμα ενός συνόλου τιμών από ένα πεδίο που δεν βρίσκεται στην προέλευση εγγραφών για τη φόρμα ή την έκθεση. Για παράδειγμα, ας υποθέσουμε ότι έχετε μια φόρμα που εμφανίζει πληροφορίες σχετικά με ένα συγκεκριμένο προϊόν. Μπορείτε να χρησιμοποιήσετε τη συνάρτηση DSum για να διατηρήσετε το τρέχον σύνολο των πωλήσεων αυτού του προϊόντος σε ένα στοιχείο ελέγχου υπολογισμού.

Συμβουλή

Εάν πρέπει να διατηρήσετε ένα τρέχον σύνολο σε ένα στοιχείο ελέγχου μιας έκθεσης, μπορείτε να χρησιμοποιήσετε την ιδιότητα RunningSum αυτού του στοιχείου ελέγχου, εάν το πεδίο στο οποίο βασίζεται περιλαμβάνεται στην προέλευση εγγραφών για την έκθεση. Χρησιμοποιήστε τη συνάρτηση DSum για να διατηρήσετε ένα τρέχον άθροισμα σε μια φόρμα.

Σημείωση

Οι μη αποθηκευμένες αλλαγές σε εγγραφές σε τομέα δεν περιλαμβάνονται όταν χρησιμοποιείτε αυτήν τη συνάρτηση. Εάν θέλετε η συνάρτηση DSum να βασίζεται στις τιμές που έχουν αλλάξει, πρέπει πρώτα να αποθηκεύσετε τις αλλαγές, είτε κάνοντας κλικ στην επιλογή Save Record στην ομάδα Records στην Κεντρική καρτέλα, μετακινώντας την εστίαση σε άλλη εγγραφή είτε χρησιμοποιώντας τη μέθοδο Update .

Παραδείγματα

Χρήση της συνάρτησης DSum σε παράσταση Μπορείτε να χρησιμοποιήσετε μια συνάρτηση τομέα (όπως DSum) στη γραμμή " Ενημέρωση σε " ενός ερωτήματος ενημέρωσης. Για παράδειγμα, ας υποθέσουμε ότι θέλετε να παρακολουθείτε τις τρέχουσες πωλήσεις ανά προϊόν σε έναν πίνακα "Προϊόντα". Μπορείτε να προσθέσετε ένα νέο πεδίο με όνομα "ΠωλήσειςSoFar" στον πίνακα "Προϊόντα" και να εκτελέσετε ένα ερώτημα ενημέρωσης για να υπολογίσετε τις σωστές τιμές και να ενημερώσετε τις εγγραφές. Για να το κάνετε αυτό, δημιουργήστε ένα νέο ερώτημα με βάση τον πίνακα Προϊόντα και, στην καρτέλα Σχεδίαση , στην ομάδα Τύπος ερωτήματος , κάντε κλικ στην επιλογή Ενημέρωση. Προσθέστε το πεδίο SalesSoFar στο πλέγμα ερωτήματος και πληκτρολογήστε τα ακόλουθα στη γραμμή "Ενημέρωση σε ":

DSum("[Quantity]*[UnitPrice]", "Order Details", _
    "[ProductID] = "& [ProductID])

Όταν εκτελείτε το ερώτημα, η Access υπολογίζει το συνολικό ποσό πωλήσεων για κάθε προϊόν, με βάση τις πληροφορίες από έναν πίνακα "Λεπτομέρειες παραγγελίας". Το άθροισμα των πωλήσεων για κάθε προϊόν προστίθεται στον πίνακα "Προϊόντα".

Χρήση του DSum σε κώδικα VBA 

Σημείωση

Τα παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε μια λειτουργική μονάδα Visual Basic for Applications (VBA). Για περισσότερες πληροφορίες σχετικά με την εργασία με τη VBA, επιλέξτε " Αναφορά προγραμματιστών " στην αναπτυσσόμενη λίστα δίπλα στην επιλογή "Αναζήτηση " και εισαγάγετε έναν ή περισσότερους όρους στο πλαίσιο αναζήτησης.

Το ακόλουθο παράδειγμα αθροίζει τις τιμές από το πεδίο "Μεταφορικά" για τις παραγγελίες που αποστέλλονται στο Ηνωμένο Βασίλειο. Ο τομέας είναι ένας πίνακας Orders. Το όρισμα κριτήρια περιορίζει το σύνολο εγγραφών που προκύπτει σε εκείνες για τις οποίες η τιμή ShipCountryRegion ισούται με το Ηνωμένο Βασίλειο.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")

Το επόμενο παράδειγμα υπολογίζει ένα σύνολο χρησιμοποιώντας δύο ξεχωριστά κριτήρια. Έχετε υπόψη ότι τα μονά εισαγωγικά (') και τα αριθμητικά σύμβολα (#) περιλαμβάνονται στην παράσταση συμβολοσειράς, έτσι ώστε, όταν οι συμβολοσειρές είναι συνενωμένες, η συμβολοσειρά περικλείεται σε μονά εισαγωγικά και η ημερομηνία περικλείεται σε σύμβολα δίεσης.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK' AND _
    [ShippedDate] > #1-1-95#")