Επιστρέφει ένα από δύο μέρη, ανάλογα με την αξιολόγηση μιας παράστασης.
Μπορείτε να χρησιμοποιήσετε IIf οπουδήποτε μπορείτε να χρησιμοποιήσετε παραστάσεις. Χρησιμοποιήστε το IIf για να προσδιορίσετε εάν μια άλλη παράσταση είναι αληθής ή ψευδής. Εάν η παράσταση είναι αληθής, IIf επιστρέφει μία τιμή. Εάν είναι false, IIf επιστρέφει μια άλλη τιμή. Μπορείτε να καθορίσετε τις τιμές που IIf επιστρέφονται.
Σύνταξη
IIf(expr, truepart, falsepart)
Η IIf σύνταξη της συνάρτησης περιλαμβάνει τα παρακάτω ορίσματα:
| Όρισμα | Περιγραφή |
|---|---|
expr |
Υποχρεωτικό. Η παράσταση που θέλετε να αξιολογήσετε. |
truepart |
Υποχρεωτικό. Τιμή ή παράσταση που επιστρέφεται εάν expr είναι True. |
falsepart |
Υποχρεωτικό. Τιμή ή παράσταση που επιστρέφεται εάν expr είναι False. |
Παρατηρήσεις
IIf Πάντα αξιολογεί και τα δύο truepart και falsepart, παρόλο που επιστρέφει μόνο το ένα. Λόγω αυτής της συμπεριφοράς, προσέξτε για ανεπιθύμητες παρενέργειες. Για παράδειγμα, εάν η αξιολόγηση falsepart καταλήξει σε σφάλμα διαίρεσης με το μηδέν, προκύπτει σφάλμα ακόμη και αν expr είναι True.
Παραδείγματα
Χρήση IIf σε φόρμα ή έκθεση
Ας υποθέσουμε ότι έχετε έναν Customers πίνακα που περιέχει ένα πεδίο με το όνομα CountryRegion. Σε μια φόρμα, θέλετε να δείξετε εάν τα Ιταλικά είναι η πρώτη γλώσσα της επαφής. Μπορείτε να προσθέσετε ένα στοιχείο ελέγχου και να το χρησιμοποιήσετε IIf στην ιδιότητά του Control Source :
=IIf([CountryRegion]="Italy", "Italian", "Some other language")
Όταν ανοίγετε τη φόρμα σε προβολή φόρμας, το στοιχείο ελέγχου εμφανίζεται Italian όποτε η τιμή για CountryRegion το είναι Italy. Εμφανίζεται Some other language όποτε CountryRegion έχει οποιαδήποτε άλλη τιμή.
Χρήση IIf σε σύνθετες παραστάσεις
Μπορείτε να χρησιμοποιήσετε οποιαδήποτε παράσταση σε οποιοδήποτε τμήμα μιας IIf πρότασης. Μπορείτε επίσης να ενθέσετε IIf παραστάσεις, κάτι που σας επιτρέπει να αξιολογήσετε μια σειρά εξαρτημένων παραστάσεων. Για να συνεχίσετε με το προηγούμενο παράδειγμα, μπορεί να θέλετε να ελέγξετε πολλές διαφορετικές CountryRegion τιμές και, στη συνέχεια, να εμφανίσετε την κατάλληλη γλώσσα με βάση την τιμή:
=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language")))
Το κείμενο Some other language είναι το falsepart όρισμα της εσώτατης IIf συνάρτησης. Εφόσον κάθε ένθετη IIf συνάρτηση είναι το falsepart όρισμα της IIf συνάρτησης που την περιέχει, το κείμενο Some other language επιστρέφεται μόνο εάν όλα τα expr ορίσματα των IIf συναρτήσεων αποδίδουν .False
Για ένα άλλο παράδειγμα, ας υποθέσουμε ότι εργάζεστε σε μια βιβλιοθήκη. Η βάση δεδομένων της βιβλιοθήκης έχει έναν πίνακα με όνομα Check Outs που περιέχει ένα πεδίο με Due Dateόνομα , ο οποίος περιέχει την ημερομηνία κατά την οποία ένα συγκεκριμένο βιβλίο πρέπει να επιστραφεί. Μπορείτε να δημιουργήσετε μια φόρμα που εμφανίζει την κατάσταση ενός στοιχείου του οποίου έχει γίνει ανάληψη ελέγχου σε ένα στοιχείο ελέγχου, χρησιμοποιώντας τη IIf συνάρτηση στην ιδιότητα αυτού του Control Source στοιχείου ελέγχου:
=IIf([Due Date]<Date(),"OVERDUE",IIf([Due Date]=Date(),"Due today","Not Yet Due"))
Όταν ανοίγετε τη φόρμα σε προβολή φόρμας, το στοιχείο ελέγχου εμφανίζει OVERDUE εάν η τιμή του Due Date είναι μικρότερη από την τρέχουσα ημερομηνία, Due today εάν είναι ίση με την τρέχουσα ημερομηνία και Not Yet Due διαφορετικά.
Σημείωση
Για να χρησιμοποιήσετε λογικούς τελεστές όπως AndOr ή στο όρισμα expr της IIf συνάρτησης, πρέπει να περικλείσετε τη λογική παράσταση στη συνάρτηση Eval . Δείτε τον πίνακα του παραδείγματος που ακολουθεί.
Χρήση IIf σε ερώτημα
Η συνάρτηση IIf χρησιμοποιείται συχνά για τη δημιουργία υπολογιζόμενων πεδίων σε ερωτήματα. Η σύνταξη είναι η ίδια, με τη διαφορά ότι σε ένα ερώτημα πρέπει να προλογίζετε την παράσταση με ψευδώνυμο πεδίου και άνω και κάτω τελεία (:) αντί για το σύμβολο ίσον (=). Για να χρησιμοποιήσετε το προηγούμενο παράδειγμα, πληκτρολογήστε τα ακόλουθα στη γραμμή πεδίων του πλέγματος σχεδίασης ερωτήματος:
Language: IIf([CountryRegion]="Italy", "Italian", "Some other language")
Σε αυτή την περίπτωση, Language: είναι το ψευδώνυμο πεδίου.
Για περισσότερες πληροφορίες σχετικά με τη δημιουργία ερωτημάτων και πεδίων υπολογισμού, ανατρέξτε στο θέμα Δημιουργία απλού ερωτήματος επιλογής.
Χρήση IIf σε κώδικα VBA
Σημείωση
Τα παρακάτω παραδείγματα δείχνουν πώς μπορείτε να χρησιμοποιήσετε αυτήν τη συνάρτηση σε μια λειτουργική μονάδα Visual Basic for Applications (VBA). Για περισσότερες πληροφορίες σχετικά με την εργασία με την VBA, επιλέξτε " Αναφορά προγραμματιστών " στην αναπτυσσόμενη λίστα δίπλα στην επιλογή "Αναζήτηση" και, στη συνέχεια, εισαγάγετε έναν ή περισσότερους όρους στο πλαίσιο αναζήτησης.
Αυτό το παράδειγμα χρησιμοποιεί τη IIf συνάρτηση για τον υπολογισμό TestMe της παραμέτρου της CheckIt διαδικασίας και επιστρέφει τη λέξη Large εάν το ποσό είναι μεγαλύτερο από 1000. Διαφορετικά, επιστρέφει τη λέξη Small.
Function CheckIt(TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function
Περισσότερα παραδείγματα
Παράσταση:
=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other")))Αποτέλεσμα: Εάν
[AirportCode]είναι"ORD", επιστροφή"Chicago". Διαφορετικά, αν[AirportCode]είναι"ATL", επιστροφή"Atlanta". Διαφορετικά, αν[AirportCode]είναι"SEA", επιστροφή"Seattle". Διαφορετικά, επιστρέψτε"Other".Παράσταση:
=IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))Αποτέλεσμα: Εάν
[ShipDate]είναι προγενέστερη της σημερινής ημερομηνίας, επιστρέψτε το ."Shipped"Διαφορετικά, εάν[ShipDate]ισούται με τη σημερινή ημερομηνία, επιστρέψτε ."Shipping today"Διαφορετικά, επιστρέψτε"Unshipped".Παράσταση:
=IIf([PurchaseDate]<#1/1/2008#,"Old","New")Αποτέλεσμα: Εάν
[PurchaseDate]είναι προγενέστερο του1/1/2008, επιστροφή"Old". Διαφορετικά, επιστρέψτε"New".Παράσταση:
=IIf(Eval([Volts] Between 12 And 15 And [Amps] Between 0.25 And 0.3),"OK","Out of calibration")Αποτέλεσμα: Εάν
[Volts]είναι μεταξύ 12 και 15 και[Amps]είναι μεταξύ 0,25 και 0,3, επιστρέψτε"OK". Διαφορετικά, επιστρέψτε"Out of calibration".Παράσταση:
=IIf(Eval([CountryRegion] In ("Canada","USA","Mexico")),"North America","Other")Αποτέλεσμα: Εάν
[CountryRegion]είναι"Canada","USA"ή"Mexico", επιστροφή"North America". Διαφορετικά, επιστρέψτε"Other".Παράσταση:
=IIf([Average]>=90,"A",IIf([Average]>=80,"B",IIf([Average]>=70,"C",IIf([Average]>=60,"D","F"))))Αποτέλεσμα: Εάν
[Average]το 90 είναι ή μεγαλύτερο, επιστρέψτε"A"το. Διαφορετικά, εάν[Average]είναι 80 ή μεγαλύτερο, επιστρέψτε"B"το . Διαφορετικά, εάν[Average]είναι 70 ή μεγαλύτερο, επιστρέψτε"C"το. Διαφορετικά, εάν[Average]η τιμή είναι 60 ή μεγαλύτερη, η συνάρτηση επιστρέφει"D"την τιμή . Διαφορετικά, επιστρέψτε"F".
Σημείωση
Εάν χρησιμοποιείτε τη IIf συνάρτηση για να δημιουργήσετε ένα πεδίο υπολογισμού σε ένα ερώτημα, αντικαταστήστε το σύμβολο ίσον (=) με ένα ψευδώνυμο πεδίου και μια άνω και κάτω τελεία (:). Για παράδειγμα, Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")).