Else กับ ElseIf ให้ผลต่างกันอย่างไร



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

15 มิ.ย. 62 , 21:53:24
อ่าน 697 ครั้ง

มาลี

Else กับ ElseIf ให้ผลต่างกันอย่างไร
« เมื่อ: 15 มิ.ย. 62 , 21:53:24 »
หนูสงสัยมานานแล้วล่ะ ว่า

If...Then...Else

กับ

If...Then...ElseIf

ใช้งานต่างกันอย่างไรคะ

 

15 มิ.ย. 62 , 23:54:18
ตอบกลับ #1

สันติสุข

: Else กับ ElseIf ให้ผลต่างกันอย่างไร
« ตอบกลับ #1 เมื่อ: 15 มิ.ย. 62 , 23:54:18 »
If เงื่อนไข Then
   ทำคำสั่งเมื่อเงื่อนไขเป็นจริง
Else
   ทำคำสั่งเมื่อเงื่อนไขไม่เป็นจริง
End If


If เงื่อนไขที่1 Then
   ทำคำสั่งเมื่อเงื่อนไขที่1เป็นจริง
ElseIf เงื่อนไขที่ 2 Then
   ทำคำสั่งเมื่อเงื่อนไขที่1ไม่เป็นจริง แต่เงื่อนไขที่2เป็นจริง
ElseIf เงื่อนไขที่ 3 Then
   ทำคำสั่งเมื่อเงื่อนไขที่1และ2ไม่เป็นจริง แต่เงื่อนไขที่3เป็นจริง
ElseIf ...
   ...
Else
   ทำคำสั่งเมื่อเงื่อนไขทั้งหมดข้างบนไม่เป็นจริง
End If

การใช้ ElseIf ทำให้ลดรูปการเขียนคำสั่งด้วย If ... Then ... Else ซ้อนกันให้สั้นลงและอ่านง่ายขึ้นเท่านั้นเองครับ ไม่งั้นเราก็ต้องเขียนเป็น

If เงื่อนไขที่1 Then
   ทำคำสั่งเมื่อเงื่อนไขที่1เป็นจริง
Else
   If เงื่อนไขที่ 2 Then
      ทำคำสั่งเมื่อเงื่อนไขที่1ไม่เป็นจริง แต่เงื่อนไขที่2เป็นจริง
   Else
      If เงื่อนไขที่ 3 Then
         ทำคำสั่งเมื่อเงื่อนไขที่1และ2ไม่เป็นจริง แต่เงื่อนไขที่3เป็นจริง
      Else
         If ... Then
            ...
         Else
            ทำคำสั่งเมื่อเงื่อนไขทั้งหมดข้างบนไม่เป็นจริง
         End If
      End If
   End If
End If
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: มาลี

16 มิ.ย. 62 , 07:02:08
ตอบกลับ #2

มาลี

: Else กับ ElseIf ให้ผลต่างกันอย่างไร
« ตอบกลับ #2 เมื่อ: 16 มิ.ย. 62 , 07:02:08 »
If เงื่อนไขที่1 Then
   ทำคำสั่งเมื่อเงื่อนไขที่1เป็นจริง
Else
   If เงื่อนไขที่ 2 Then
      ทำคำสั่งเมื่อเงื่อนไขที่1ไม่เป็นจริง แต่เงื่อนไขที่2เป็นจริง
   Else
      If เงื่อนไขที่ 3 Then
         ทำคำสั่งเมื่อเงื่อนไขที่1และ2ไม่เป็นจริง แต่เงื่อนไขที่3เป็นจริง
      Else
         If ... Then
            ...
         Else
            ทำคำสั่งเมื่อเงื่อนไขทั้งหมดข้างบนไม่เป็นจริง
         End If
      End If
   End If
End If


อ๋อ..พึ่งทราบเหตุผลวันนี้นี่เอง
มิน่าล่ะ เวลาหนูเขียนคำสั่งตรวจสอบหลายเงื่อนไข มันจึงฟ้องให้ต้องใส่ End if ซ้อนกันในตอนท้ายเสมอ
ขอบคุณค่ะอาจารย์

 

16 มิ.ย. 62 , 11:12:39
ตอบกลับ #3

UnKnown

: Else กับ ElseIf ให้ผลต่างกันอย่างไร
« ตอบกลับ #3 เมื่อ: 16 มิ.ย. 62 , 11:12:39 »
มิน่าล่ะ เวลาหนูเขียนคำสั่งตรวจสอบหลายเงื่อนไข มันจึงฟ้องให้ต้องใส่ End if ซ้อนกันในตอนท้ายเสมอ

เขาจึงนิยมใช้ ElseIf กันมากกว่านะครับ
> vba if else - ค้นหาด้วย Google link
> คำสั่งเลือกเงื่อนไข If Else ElseIf และ Select Case ในภาษา Visual Basic - MarcusCode link


 
โพสต์นี้ได้รับคำขอบคุณจาก: มาลี

16 มิ.ย. 62 , 12:54:13
ตอบกลับ #4

สันติสุข

: Else กับ ElseIf ให้ผลต่างกันอย่างไร
« ตอบกลับ #4 เมื่อ: 16 มิ.ย. 62 , 12:54:13 »
แต่ถ้าเราเขียนคำสั่งที่จะทำ ให้อยู่ในบรรทัดเดียวกับ If ... Then ได้ เราก็ไม่ต้องมี End If ครับ เช่น

If A=1 Then B=2: C=3 Else B=4: C=5

หมายเหตุ เราใช้เครื่องหมาย : เพื่อคั่นแต่ละคำสั่งที่จะเขียนในบรรทัดเดียวกัน
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: UnKnown, มาลี


บอร์ดเรียนรู้ Access สำหรับคนไทย