Hàm NZ

Bạn có thể sử dụng hàm NZ để trả về số không, một chuỗi độ dài bằng 0 ("") hoặc một giá trị đã xác định khác khi một biến thể là NULL. Ví dụ, bạn có thể sử dụng hàm này để chuyển đổi giá trị null sang một giá trị khác và ngăn không cho tuyên truyền thông qua một biểu thức.

Cú pháp

NZ ( biến thể [, valueifnull ] )

Cú pháp hàm Nz có những đối số sau:

Tham đối

Mô tả

variant

Bắt buộc. Biến số của kiểu dữ liệuVariant.

valueifnull

Tùy chọn (trừ khi được dùng trong truy vấn). Một Variant cung cấp giá trị được trả về nếu đối số variantNull. Đối số này cho phép bạn trả về một giá trị ngoài số không hoặc một chuỗi có độ dài bằng không.

Lưu ý: Nếu bạn dùng hàm Nz trong một biểu thức trong truy vấn mà không dùng đối số valueifnull, kết quả sẽ là một chuỗi có độ dài bằng không trong trường có chứa giá trị null.


Nếu giá trị của đối số biến thểnull, hàm NZ trả về số không hoặc chuỗi độ dài bằng không (luôn trả về chuỗi độ dài bằng 0 khi dùng trong một biểu thức truy vấn), tùy thuộc vào việc ngữ cảnh cho biết giá trị phải là số hoặc chuỗi. Nếu đối số valueifnull tùy chọn được bao gồm, thì hàm NZ sẽ trả về giá trị được xác định bởi đối số đó nếu đối số biến thểnull. Khi được sử dụng trong một biểu thức truy vấn, hàm NZ sẽ luôn bao gồm các đối số valueifnull ,

Nếu giá trị của biến thể không phải là nullthì hàm NZ trả về giá trị của biến thể.

Chú thích

Hàm NZ rất hữu ích cho các biểu thức có thể bao gồm các giá trị null . Để buộc một biểu thức để đánh giá giá trị không phải lànull , ngay cả khi nó chứa giá trị null , hãy dùng hàm NZ để trả về bằng không, Chuỗi độ dài bằng không hoặc giá trị trả về tùy chỉnh.

Ví dụ: biểu thức 2 + varX sẽ luôn trả về giá trị null khi biến thểvarXnull. Tuy nhiên, 2 + Nz(varX) trả về 2.

Bạn thường có thể sử dụng hàm NZ như một thay thế cho hàm IIF . Ví dụ, trong mã sau đây, hai biểu thức bao gồm hàm IIF là cần thiết để trả về kết quả mong muốn. Biểu thức đầu tiên bao gồm hàm IIF được dùng để kiểm tra giá trị của một biến và chuyển đổi nó thành số không nếu nó là null.

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

Trong ví dụ tiếp theo, hàm NZ cung cấp các chức năng giống như biểu thức đầu tiên và kết quả mong muốn đạt được trong một bước thay vì hai.

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

Nếu bạn cung cấp giá trị cho các tùy chọn valueifnullđối số, giá trị đó sẽ được trả về khi biến thểnull. Bằng cách bao gồm đối số tùy chọn này, bạn có thể tránh sử dụng một biểu thức có chứa hàm IIF . Ví dụ, biểu thức sau đây sử dụng hàm IIF để trả về một chuỗi nếu giá trị của varFreightnull.

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

Trong ví dụ tiếp theo, đối số tùy chọn được cung cấp cho hàm NZ cung cấp chuỗi sẽ được trả về nếu varFreightnull.

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

Ví dụ về truy vấn

Biểu thức

Kết quả

CHỌN ProductID, NZ (chiết khấu, "không có chi tiết sẵn dùng") là Expr2 đều từ ProductSales;

Trả về "ProductID" trong cột Expr1, đánh giá các giá trị ' null ' trong trường "chiết khấu" và trả về "không có chi tiết sẵn dùng" cho tất cả các giá trị null (trả về giá trị không phải là NULL).

CHỌN ProductID, NZ (chiết khấu, "không có chi tiết sẵn dùng") như ReplaceNull từ ProductSales;

Trả về "ProductID" trong sản phẩm cột, đánh giá các giá trị ' null ' trong trường "chiết khấu" và trả về "không có chi tiết sẵn dùng" cho tất cả các giá trị null (trả về giá trị không phải là NULL) và hiển thị trong ReplaceNull cột.

Ví dụ về VBA

Lưu ý: Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.

Ví dụ sau đây đánh giá điều khiển trên biểu mẫu và trả về một trong hai chuỗi dựa trên giá trị của điều khiển. Nếu giá trị của điều khiển là null, thì quy trình sử dụng hàm NZ để chuyển đổi giá trị null thành chuỗi độ dài bằng 0.

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

Lưu ý:  Trang này được dịch tự động nên có thể chứa các lỗi về ngữ pháp hoặc nội dung không chính xác. Mục đích của chúng tôi là khiến nội dung này trở nên hữu ích với bạn. Cho chúng tôi biết thông tin này có hữu ích hay không? Dưới đây là bài viết bằng tiếng Anh để bạn tham khảo..​

Phát triển kỹ năng Office của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×