Funkciju Nz var izmantot, lai atgrieztu nulli, nulles garuma virkni (" ") vai citu norādītu vērtību, ja variants ir Null. Piemēram, šo funkciju var izmantot, lai vērtību Null pārvērstu par citu vērtību un neļautu to pavairot izteiksmē.
Sintakse
Nz(variant [, vērtība_null_gadījumā] )
Funkcijas Nz sintaksē ir šādi argumenti:
| Arguments | Apraksts |
|---|---|
| variant | Obligāts arguments. Datu tipa Variant mainīgais. |
| vērtība_null_gadījumā | Neobligāts (ja vien netiek izmantots vaicājumā).
Variants, kas nodrošina vērtību, kura jāatgriež, ja varianta arguments ir Null. Šis arguments ļauj atgriezt citu vērtību, nevis nulli vai nulles garuma virkni. Piezīme. Ja izmantojat funkciju Nz izteiksmē vaicājumā, neizmantojot argumentu valueifnull , laukos, kuros ir vērtības Null, rezultāts būs nulles garuma virkne. |
Ja varianta argumenta vērtība ir Null, funkcija Nz atgriež skaitli nulle vai nulles garuma virkni (vienmēr atgriež nulles garuma virkni, ja tiek izmantota vaicājuma izteiksmē) atkarībā no tā, vai konteksts norāda, ka vērtībai jābūt skaitlim vai virknei. Ja ir iekļauts neobligātais arguments vērtība_null_gadījumā , funkcija Nz atgriež šajā argumentā norādīto vērtību, ja varianta arguments ir Null. Ja funkcija NZ tiek izmantota vaicājuma izteiksmē, tai vienmēr jāiekļauj arguments valueifnull ,
Ja variant vērtība nav Null, funkcija Nz atgriež Variant vērtību.
Piezīmes
Funkcija Nz ir noderīga izteiksmēm, kuras var ietvert vērtības Null. Lai piespiestu izteiksmi novērtēt uz citu, nevis Null vērtību arī tad, ja tā satur vērtību Null, izmantojiet funkciju Nz, lai atgrieztu nulli, nulles garuma virkni vai pielāgotu atgriezto vērtību.
Piemēram, izteiksme 2 + varX vienmēr atgriezīs vērtību Null , ja VariantvarX ir Null. Tomēr atgriež 2 + Nz(varX) vērtību 2.
Funkciju Nz bieži vien var izmantot kā alternatīvu funkcijai IIf. Piemēram, tālāk norādītajā kodā ir nepieciešamas divas izteiksmes ar funkciju IIf, lai atgrieztu vajadzīgo rezultātu. Pirmā izteiksme ar funkciju IIf tiek izmantota, lai pārbaudītu mainīgā vērtību un to pārvērstu par nulli, ja tas ir Null.
varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")
Nākamajā piemērā funkcija Nz nodrošina tādu pašu funkcionalitāti kā pirmā izteiksme, un vajadzīgais rezultāts tiek sasniegts vienā solī, nevis divos.
varResult = IIf(Nz(varFreight) > 50, "High", "Low")
Ja norādāt vērtību neobligātajam argumentam vērtība_null_gadījumā, šī vērtība tiek atgriezta, ja variant ir Null. Norādot šo neobligāto argumentu, jūs varat izvairīties no izteiksmes, kurā ir funkcija IIf. Piemēram, šajā izteiksmē tiek izmantota funkcija IIf , lai atgrieztu virkni, ja vērtība varFreight ir Null.
varResult = IIf(IsNull(varFreight), _
"No Freight Charge", varFreight)
Nākamajā piemērā funkcijai Nz norādītais neobligātais arguments nodrošina virkni, kas jāatgriež, ja varFreight ir vērtība Null.
varResult = Nz(varFreight, "No Freight Charge")
Vaicājumu piemēri
| Izteiksme | Rezultāti |
|---|---|
| SELECT ProductID, NZ(Atlaide,"Nav pieejama informācija") AS Expr2 FROM ProductSales; | Atgriež "Produkta_ID" kolonnā Expr1, novērtē vērtības "Null" laukā "Atlaide" un atgriež "Nav pieejama informācija" visām vērtībām Null (atgriež vērtības, kas nav Null, tādas, kādas ir). |
| SELECT ProductID, NZ(Atlaide,"Nav pieejama informācija") AS ReplaceNull FROM ProductSales; | Atgriež kolonnā Produkts "Produkta_ID", novērtē vērtības "Null" laukā "Atlaide" un atgriež "Nav pieejama informācija" visām vērtībām Null (atgriež vērtības, kas nav Null, tādas, kādas tās ir), un parāda kolonnā ReplaceNull. |
VBA piemērs
Piezīme
Turpmākajos piemēros redzama šīs funkcijas izmantošana Visual Basic for Applications (VBA) modulī. Lai iegūtu papildinformāciju par darbu ar VBA, nolaižamajā sarakstā atlasiet Uzziņas materiāli izstrādātājiem blakus meklēšanas lodziņam un ievadiet šajā lodziņā vienu vai vairākus vārdus.
Tālāk esošajā piemērā tiek novērtēta formas vadīkla un atgriezta viena no divām virknēm, pamatojoties uz vadīklas vērtību. Ja vadīklas vērtība ir Null, procedūra izmanto funkciju Nz, lai vērtību Null pārvērstu par nulles garuma virkni.
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