Online Reference

Home

Microsoft Reference
Knowledge Developer Database Internet Resource Forum
VBA
Inspection Function
ดาวน์โหลดคู่มือ

IsNull Function

VBA Function, ส่งออกค่าเป็นประเภทข้อมูล Boolean เพื่อตรวจสอบว่า expression เป็นค่าว่าง (Null) หรือไม่

ไวยากรณ์

IsNull(expression )

อากิวเมนต์ expression เป็นประเภทข้อมูล Variant ที่เก็บค่า expression เป็นตัวเลขหรือข้อความ

ลักษณะการประยุกต์

ฟังก์ชัน IsNull ส่งออกค่าเป็น True ถ้า expression เป็นค่าว่าง (Null) กรณีอื่นๆ ส่งค่าเป็น False ถ้า expression เก็บค่ามากกว่า 1 ตัวแปร จะทำให้ฟังก์ชัน IsNull ส่งค่าเป็น True

ค่าว่าง (Null) เป็นการชี้ว่าตัวแปรไม่มีค่า แต่ Null ต่างจาก Empty โดย Empty เป็นการแสดงว่าตัวแปรยังไม่ได้มีการกำหนดค่า ซึ่งต่างจาก zero-length string (“”) ที่บางครั้งอ้างเป็นค่า Null

หมายเหตุ

การใช้ฟังก์ชัน IsNull ในการหาค่าว่าง (Null) ใน expression บางสภาพแวดล้อม expression ที่นำมาตรวจสอบค่า เช่น If Var = Null และ If Var <> Null นั้นจะให้ค่า False เสมอ เพราะ expression ที่เก็บเป็นค่า Null และตัวเองเป็น Null จึงให้ค่า False

ดูเพิ่มเติม

ฟังก์ชัน IsArray, ฟังก์ชัน IsDate, ฟังก์ชัน IsEmpty, ฟังก์ชัน IsError, ฟังก์ชัน IsMissing, ฟังก์ชัน IsNumeric, ฟังก์ชัน IsObject, ฟังก์ชัน TypeName, ฟังก์ชัน VarType, ประเภทข้อมูล Variant

ตัวอย่าง

ตัวอย่างฟังก์ชัน IsNull ใช้ในการหาค่าถ้าตัวแปรมีค่าเป็น Null

Dim MyVar, MyCheck

' ส่งออกค่าเป็น False
MyCheck = IsNull(MyVar)
MyVar = ""
' ส่งออกค่าเป็น False
MyCheck = IsNull(MyVar)
MyVar = Null
' ส่งออกค่าเป็น True
MyCheck = IsNull(MyVar)

ตัวอย่างฟังก์ชัน IsNull ใช้ในการหาค่าถ้าตัวแปรมีค่าเป็น Null หรือไม่ โดยถ้าเป็นค่า Null ให้แสดงข้อความ แต่ถ้าค่าไม่เป็น Null ให้แสดงค่า

Sub ControlValue(ctlText As Control)
Dim strMsg As String

   ' ตรวจสอบว่าตัว control เป็น text box
   If ctlText.ControlType = acTextBox Then
      ' ถ้าค่าตัว control เป็น Null และข้อความ
      If IsNull(ctlText.Value) Then
         strMsg = "No data in the field '" & ctlText.Name _
            & "'." & vbCrLf & "Please enter data for this field now."
         If MsgBox(strMsg, vbQuestion) = vbOK Then
            Exit Sub
         End If
      Else
         MsgBox (ctlText.Value) ' ถ้าค่าไม่เป็น Null ให้แสดงค่า
      End If
   End If

End Sub