Συνάρτηση Nz

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

Μπορείτε να χρησιμοποιήσετε τη συνάρτηση Nz για να επιστρέψετε μηδέν, μια συμβολοσειρά μηδενικού μήκους (" ") ή άλλη καθορισμένη τιμή όταν μια μεταβλητή είναι Null. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε αυτήν τη συνάρτηση για να μετατρέψετε μια τιμή Null σε άλλη τιμή και να αποτρέψετε τη μετάδοσή της μέσω μιας παράστασης.

Σύνταξη

Nz(variant [; valueifnull ] )

Η σύνταξη της συνάρτησης Nz έχει τα εξής ορίσματα:

Όρισμα Περιγραφή
πολυμεταβλητή Υποχρεωτικό. Μεταβλητή τύπου δεδομένων "Μεταβλητή".
τιμήκενών Προαιρετικό (εκτός εάν χρησιμοποιείται σε ερώτημα). Μια μεταβλητή που παρέχει μια τιμή που θα επιστραφεί εάν το όρισμα μεταβλητής είναι Null. Το συγκεκριμένο όρισμα σας επιτρέπει να έχετε αποτέλεσμα διαφορετικό του μηδενός ή συμβολοσειράς μηδενικού μήκους.
Σημείωση: Εάν χρησιμοποιήσετε τη συνάρτηση Nz σε μια παράσταση ενός ερωτήματος χωρίς να χρησιμοποιήσετε το όρισμα valueifnull , το αποτέλεσμα θα είναι μια συμβολοσειρά μηδενικού μήκους στα πεδία που περιέχουν τιμές null.

Εάν η τιμή του ορίσματος μεταβλητής είναι Null, η συνάρτηση Nz επιστρέφει τον αριθμό μηδέν ή μια συμβολοσειρά μηδενικού μήκους (επιστρέφει πάντα μια συμβολοσειρά μηδενικού μήκους όταν χρησιμοποιείται σε μια παράσταση ερωτήματος), ανάλογα με το αν το περιβάλλον υποδεικνύει ότι η τιμή πρέπει να είναι αριθμός ή συμβολοσειρά. Εάν περιλαμβάνεται το προαιρετικό όρισμα valueifnull , τότε η συνάρτηση Nz θα επιστρέψει την τιμή που καθορίζεται από αυτό το όρισμα εάν το όρισμα μεταβλητής είναι Null. Όταν χρησιμοποιείται σε μια παράσταση ερωτήματος, η συνάρτηση NZ πρέπει να περιλαμβάνει πάντα το όρισμα valueifnull ,

Εάν η τιμή της μεταβλητής δεν είναι Null, τότε η συνάρτηση Nz επιστρέφει την τιμή της μεταβλητής.

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

Η συνάρτηση Nz είναι χρήσιμη για παραστάσεις που μπορεί να περιλαμβάνουν τιμές Null. Για να επιβάλετε σε μια παράσταση να λάβει τιμή που δεν είναι Null ακόμη και όταν περιέχει μια τιμή Null , χρησιμοποιήστε τη συνάρτηση Nz για να επιστρέψετε μηδέν, μια συμβολοσειρά μηδενικού μήκους ή μια προσαρμοσμένη τιμή επιστροφής.

Για παράδειγμα, η παράσταση 2 + varX θα επιστρέφει πάντα μια τιμή Null όταν η ΜεταβλητήvarX είναι Null. Ωστόσο, 2 + Nz(varX) επιστρέφει την τιμή 2.

Συχνά μπορείτε να χρησιμοποιήσετε τη συνάρτηση Nz ως εναλλακτική της συνάρτησης IIf . Για παράδειγμα, στον παρακάτω κώδικα, δύο παραστάσεις που περιλαμβάνουν τη συνάρτηση IIf είναι απαραίτητες για την επιστροφή του επιθυμητού αποτελέσματος. Η πρώτη παράσταση, συμπεριλαμβανομένης της συνάρτησης IIf, χρησιμοποιείται για να ελέγξει την τιμή μιας μεταβλητής και να τη μετατρέψει σε μηδέν εάν είναι Null.

varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")

Στο επόμενο παράδειγμα, η συνάρτηση Nz παρέχει την ίδια λειτουργικότητα με την πρώτη παράσταση και το επιθυμητό αποτέλεσμα επιτυγχάνεται σε ένα βήμα και όχι σε δύο.

varResult = IIf(Nz(varFreight) > 50, "High", "Low")

Εάν δώσετε μια τιμή για το προαιρετικό όρισμα valueifnull, αυτή η τιμή θα επιστραφεί όταν η μεταβλητή είναι Null. Συμπεριλαμβάνοντας αυτό το προαιρετικό όρισμα, ίσως μπορέσετε να αποφύγετε τη χρήση μιας παράστασης που περιέχει τη συνάρτηση IIf . Για παράδειγμα, η ακόλουθη παράσταση χρησιμοποιεί τη συνάρτηση IIf για να επιστρέψει μια συμβολοσειρά εάν η τιμή του είναι varFreightNull.

varResult = IIf(IsNull(varFreight), _
    "No Freight Charge", varFreight)

Στο επόμενο παράδειγμα, το προαιρετικό όρισμα που παρέχεται στη συνάρτηση Nz παρέχει τη συμβολοσειρά που θα επιστραφεί εάν varFreight είναι Null.

varResult = Nz(varFreight, "No Freight Charge")

Παραδείγματα ερωτήματος

Έκφραση Αποτελέσματα
SELECT ProductID, NZ(Έκπτωση;"Δεν υπάρχουν διαθέσιμες λεπτομέρειες") AS Expr2 FROM ProductSales; Επιστρέφει "Κωδ_Προϊόντος" στη στήλη Παράσταση1, αξιολογεί τις τιμές "Null" στο πεδίο "Έκπτωση" και επιστρέφει "Δεν υπάρχουν διαθέσιμα στοιχεία" για όλες τις τιμές Null (επιστρέφει τις τιμές που δεν είναι null ως έχουν).
SELECT ProductID, NZ(Έκπτωση;"Δεν υπάρχουν διαθέσιμες λεπτομέρειες") AS ReplaceNull FROM ProductSales; Επιστρέφει "Κωδ_Προϊόντος" στη στήλη "Προϊόν", αξιολογεί τις τιμές "Null" στο πεδίο "Έκπτωση" και επιστρέφει "Δεν υπάρχουν διαθέσιμα στοιχεία" για όλες τις τιμές Null (επιστρέφει τις τιμές που δεν είναι null ως έχουν) και εμφανίζεται στη στήλη ReplaceNull.

Παράδειγμα VBA

Σημείωση

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

Το ακόλουθο παράδειγμα αξιολογεί ένα στοιχείο ελέγχου σε μια φόρμα και επιστρέφει μία από δύο συμβολοσειρές βάσει της τιμής του στοιχείου ελέγχου. Εάν η τιμή του στοιχείου ελέγχου είναι Null, η διαδικασία χρησιμοποιεί τη συνάρτηση Nz για να μετατρέψει μια τιμή Null σε συμβολοσειρά μηδενικού μήκους.

Public Sub CheckValue()
    Dim frm As Form
    Dim ctl As Control
    Dim varResult As Variant
    ' Return Form object variable 
    ' pointing to Orders form.
    Set frm = Forms!Orders
    ' Return Control object variable 
    ' pointing to ShipRegion.
    Set ctl = frm!ShipRegion
    ' Choose result based on value of control.
    varResult = IIf(Nz(ctl.Value) = vbNullString, _
        "No value.", "Value is " & ctl.Value & ".")
    ' Display result.
    MsgBox varResult, vbExclamation
End Sub