Applies ToAccess cho Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Bạn có thể sử dụng hàm Nz để trả về số không, giá trị chuỗi độ dài bằng 0 (" ") hoặc một giá trị được chỉ đị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 thành một giá trị khác và ngăn không cho giá trị đó phát tán qua biểu thức.

Cú pháp

Nz ( variant [, 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ố variantNull, hàm Nz trả về số không hoặc chuỗi có độ dài bằng không (luôn luôn trả về chuỗi có độ dài bằng 0 khi được sử dụng trong 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ố hay chuỗi. Nếu bao gồm đối số valueifnull tùy chọn thì hàm Nz sẽ trả về giá trị được chỉ định bởi đối số đó nếu đối số variantlà Null. Khi được sử dụng trong biểu thức truy vấn, hàm NZ phải luôn bao gồm đối số valueifnull ,

Nếu giá trị của biến_ thể không phải là Null thì hàm Nz trả về giá trị của biến_thể.

Chú thích

Hàm Nz hữu ích cho các biểu thức có thể bao gồm các giá trị Null . Để bắt buộc một biểu thức định trị là giá trị không phải Null ngay cả khi biểu thức đó chứa giá trị Null , hãy dùng hàm Nz để trả về không, một chuỗi có độ dài bằng 0 hoặc một 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 giávarX _biến_thể là Null. Tuy nhiên, 2 + Nz(varX) trả về 2.

Bạn thường có thể sử dụng hàm Nz như một giải pháp thay thế cho hàm IIf . Ví dụ: trong mã sau đây, cần có hai biểu thức bao gồm hàm IIf để trả về kết quả mong muốn. Biểu thức đầu tiên bao gồm hàm IIf được sử dụng để kiểm tra giá trị của một biến số và chuyển đổi nó thành không nếu đó 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 chức năng tương tự như biểu thức đầu tiên và kết quả mong muốn sẽ đạt được trong một bước thay vì hai.

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

Nếu bạn cung cấp một giá trị cho valueifnull đối số tùy chọn, giá trị đó sẽ được trả về khi variantNull. Bằng cách đưa đối số tùy chọn này vào, bạn có thể tránh dùng một biểu thứ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 đối varFreightNull.

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

Ví dụ về truy vấn

Biểu thức

Kết quả

SELECT ProductID, NZ(Discount,"No Detail Available") AS Expr2 FROM ProductSales;

Trả về "ProductID" trong cột Expr1, đánh giá các giá trị 'Null' trong trường "Giảm giá" và trả về "Không có Chi tiết Sẵn dùng" cho tất cả các giá trị Null (trả về các giá trị không phải null như hiện tại).

SELECT ProductID, NZ(Discount,"No Detail Available") AS ReplaceNull FROM ProductSales;

Trả về "PRODUCTID" trong cột Product, đánh giá các giá trị 'Null' trong trường "Discount" và trả về "Không có Chi tiết Sẵn dùng" cho tất cả các giá trị Null (trả về các giá trị không phải null như hiện tại) và hiển thị trong cột ReplaceNull.

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á một đ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, quy trình sẽ sử dụng hàm Nz để chuyển đổi giá trị Null thành chuỗi có độ 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, vbExclamationEnd Sub

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.