Funkcia Nz

Funkciu NZ môžete použiť na vrátenie nuly, reťazec nulovej dĺžky ("") alebo inú zadanú hodnotu, ak je variant null. Túto funkciu môžete použiť napríklad na konvertovanie hodnoty null na inú hodnotu a zabránenie jej šíreniu prostredníctvom výrazu.

Syntax

Nz ( variant [, valueifnull ] )

Syntax funkcie Nz má tieto argumenty:

Argument

Popis

variant

Povinné. Premenná typ údajovVariant.

valueifnull

Voliteľné (ak sa nepoužíva v dotaze). Typ údajov Variant poskytujúci hodnotu, ktorá sa má vrátiť, ak má argument variant hodnotu null. Tento argument umožňuje vrátiť hodnotu inú ako nula alebo reťazec s nulovou dĺžkou.

Poznámka: Ak použijete funkciu Nz vo výraze v dotaze bez použitia argumentu valueifnull, výsledkom bude reťazec s nulovou dĺžkou v poliach, ktoré obsahujú hodnoty null.


Ak je hodnota argumentu variantNull, funkcia Nz vráti číslo nula alebo reťazec s nulovou dĺžkou (reťazec s nulovou dĺžkou vráti vždy vtedy, keď sa použije vo výraze dotazu) podľa toho, či z kontextu vyplýva, že hodnota by mala byť číslo alebo reťazec. Ak je súčasťou funkcie voliteľný argument valueifnull, funkcia Nz vráti hodnotu zadanú argumentom v prípade, že argument variant má hodnotu null. Ak sa funkcia NZ použije vo výraze dotazu, vždy by mala zahŕňať argument valueifnull.

Ak hodnota argumentu variant nie je Null, funkcia Nz vráti hodnotu argumentu variant.

Poznámky

Funkcia Nz je užitočná pre výrazy, ktoré môžu zahŕňať hodnoty Null. Ak chcete donútiť výraz k tomu, aby sa vyhodnotil ako hodnota iná než Null aj vtedy, keď obsahuje hodnotu Null, použite na vrátenie nuly, reťazca s nulovou dĺžkou alebo vlastnej vrátenej hodnoty funkciu Nz.

Napríklad výraz 2 + varX vždy vráti hodnotu Null, keď je Variant varXNull. 2 + Nz(varX) však vráti hodnotu 2.

Funkciu Nz je často možné použiť ako alternatívu k funkcii IIf. Napríklad na vrátenie požadovaného výsledku sú v nasledujúcom kóde potrebné dva výrazy obsahujúce funkciu IIf. Prvý výraz obsahujúci funkciu IIf sa použije na kontrolu hodnoty premennej a ak je hodnota Null, tak aj na jej konvertovanie na nulu.

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

V nasledujúcom príklade funguje funkcia Nz rovnako ako prvý výraz a na dosiahnutie požadovaného výsledku stačí jeden, nie dva kroky.

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

Po zadaní hodnoty pre voliteľný argument valueifnull sa v prípade, že argument variant má hodnotu Null, daná hodnota vráti. Pri použití voliteľného argumentu je možné vyhnúť sa použitiu výrazu obsahujúceho funkciu IIf. Nasledujúci výraz napríklad použije na vrátenie reťazca funkciu IIf v prípade, že je hodnota argumentu varFreightNull.

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

V nasledujúcom príklade voliteľný argument zadaný funkcii Nz poskytne reťazec, ktorý sa má vrátiť, ak je hodnota argumentu varFreightNull.

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

Príklady dotazov

Výraz

Výsledky

Vyberte položku ProductID, NZ (zľava, "nie je k dispozícii žiadny detail") ako Expr2 z ProductSales;

Vráti hodnotu "ProductID" v stĺpci Expr1, vyhodnotí hodnoty null v poli "zľava" a vráti hodnotu "nie sú k dispozícii žiadne Podrobnosti" pre všetky hodnoty null (vráti hodnotu, ktorá nie je null, ako je).

Vyberte položku ProductID, NZ (zľava, "nie je k dispozícii žiadny detail") ako ReplaceNull z ProductSales;

Vráti hodnotu "ProductID" v stĺpci produkt, vyhodnotí hodnoty null v poli "zľava" a vráti hodnotu "nie sú k dispozícii žiadne Podrobnosti" pre všetky hodnoty null (vráti hodnoty, ktoré nie sú prázdne), a zobrazí sa v stĺpci ReplaceNull.

Príklad jazyka VBA

Poznámka: Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.

Nasledujúci príklad vyhodnotí ovládací prvok vo formulári a na základe hodnoty ovládacieho prvku vráti jeden z dvoch reťazcov. Ak je hodnota ovládacieho prvku Null, v postupe sa použije funkcia Nz, ktorá skonvertuje hodnotu Null na reťazec s nulovou dĺžkou.

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

Poznámka:  Táto stránka bola preložená automaticky a môže obsahovať gramatické chyby alebo nepresnosti. Naším cieľom je, aby bol tento obsah pre vás užitočný. Môžete nám dať vedieť, či boli tieto informácie pre vás užitočné? Tu nájdete anglický článok ako referenciu.

Rozšírte svoje zručnosti práce s balíkom Office
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×