Μπορείτε να χρησιμοποιήσετε τη συνάρτηση Nz για να επιστραφεί το μηδέν, μια συμβολοσειρά μηδενικού μήκους (" ") ή μια άλλη καθορισμένη τιμή όταν μια Μεταβλητή είναι Null. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε αυτήν τη συνάρτηση για να μετατρέψετε μια τιμή Null σε άλλη τιμή και να αποτρέψετε τη μετάδοση μέσω μιας παράστασης.
Σύνταξη
Nz ( μεταβλητή [, τιμήifnull ] )
Η σύνταξη της συνάρτησης Nz έχει τα εξής ορίσματα:
Όρισμα |
Περιγραφή |
πολυμεταβλητή |
Υποχρεωτικό. Μια μεταβλητή τύπος δεδομένων Πολυμεταβλητή. |
τιμήκενών |
Προαιρετικό (εκτός εάν χρησιμοποιείται σε ερώτημα). Μια πολυμεταβλητή η οποία δίνει την τιμή επιστροφής εάν το όρισμα πολυμεταβλητή είναι Null. Το συγκεκριμένο όρισμα σας επιτρέπει να έχετε αποτέλεσμα διαφορετικό του μηδενός ή συμβολοσειράς μηδενικού μήκους. Σημείωση: Αν χρησιμοποιήσετε τη συνάρτηση Nz σε μια παράσταση σε ένα ερώτημα χωρίς να χρησιμοποιήσετε το όρισμα τιμήκενών, τότε στα πεδία που περιέχουν τιμές null τα αποτελέσματα θα είναι μια συμβολοσειρά μηδενικού μήκους. |
Εάν η τιμή του ορίσματος μεταβλητή είναι Null, η συνάρτηση Nz επιστρέφει τον αριθμό μηδέν ή μια συμβολοσειρά μηδενικού μήκους (επιστρέφει πάντα μια συμβολοσειρά μηδενικού μήκους όταν χρησιμοποιείται σε μια παράσταση ερωτήματος), ανάλογα με το εάν το περιβάλλον υποδεικνύει ότι η τιμή πρέπει να είναι αριθμός ή συμβολοσειρά. Εάν περιλαμβάνεται το προαιρετικό όρισμα τιμήifnull , η συνάρτηση Nz θα επιστρέψει την τιμή που καθορίζεται από αυτό το όρισμα, εάν το όρισμα μεταβλητή είναι Null. Όταν χρησιμοποιείται σε μια παράσταση ερωτήματος, η συνάρτηση NZ πρέπει να περιλαμβάνει πάντα το όρισμα τιμήifnull ,
Εάν η τιμή της μεταβλητής δεν είναι 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 για να επιστρέψει μια συμβολοσειρά, εάν η τιμή του varFreight είναι Null.
varResult = IIf(IsNull(varFreight), _
"No Freight Charge", varFreight)
Στο επόμενο παράδειγμα, το προαιρετικό όρισμα που παρέχεται στη συνάρτηση Nz παρέχει τη συμβολοσειρά που θα επιστραφεί εάν varFreight είναι Null.
varResult = Nz(varFreight, "No Freight Charge")
Παραδείγματα ερωτημάτων
Expression |
Αποτελέσματα |
SELECT ProductID, NZ(Έκπτωση;"Χωρίς διαθέσιμες λεπτομέρειες") AS Παράστ2 FROM Πωλήσεις Προϊόντων; |
Επιστρέφει την τιμή "Κωδ_Προϊόντος" στη στήλη Παράστ1, αξιολογεί τις τιμές 'Null' στο πεδίο "Έκπτωση" και επιστρέφει την τιμή "Χωρίς λεπτομέρειες διαθέσιμες" για όλες τις τιμές Null (επιστρέφει τις τιμές που δεν είναι null ως έχουν). |
SELECT ProductID, NZ(Discount;"No Detail Available") 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