ເນື້ອໃນ

# ຄຳສັ່ງ If...Then...Else

ກຳນົດໜຶ່ງ ຫຼື ຫຼາຍບລັອກຄຳສັ່ງທີ່ທ່ານຕ້ອງການປະມວນຜົນກໍຕໍ່ເມື່ອເງື່ອນໄຂ ຫຼື ນິພົດທີ່ກຳນົດໃຫ້ນັ້ນເປັນ True (ຈິງ).

### ໄວຍາກອນ:

      If condition Then
          statements
      [{ElseIf} condition Then
          statements]
      [Else
          statements]
      {EndIf|End If}

ທ່ານສາມາດຂຽນ EndIf ແທນ End If ໄດ້.

ຄຳສັ່ງ If ສາມາດຫຍໍ້ໃຫ້ເຫຼືອແຖວດຽວໄດ້ເມື່ອໃຊ້ບລັອກຄຳສັ່ງດຽວ.

      If condition Then statement [Else statement]

### ພາຣາມິເຕີ:

ຄຳສັ່ງ If...Then ຈະປະມວນຜົນບລັອກໂປຣແກຣມໂດຍຂຶ້ນກັບເງື່ອນໄຂທີ່ກຳນົດໃຫ້. ເມື່ອ LibreOffice Basic ພົບຄຳສັ່ງ If, ມັນຈະກວດສອບເງື່ອນໄຂ. ຖ້າເງື່ອນໄຂເປັນ True, ທຸກຄຳສັ່ງທີ່ຕາມມາຈົນຮອດຄຳສັ່ງ Else ຫຼື ElseIf ຖັດໄປຈະຖືກປະມວນຜົນ. ຖ້າເງື່ອນໄຂເປັນ False ແລະ ມີຄຳສັ່ງ ElseIf ຕາມຫຼັງ, LibreOffice Basic ຈະກວດສອບນິພົດຖັດໄປ ແລະ ປະມວນຜົນຄຳສັ່ງທີ່ຕາມມາຖ້າເງື່ອນໄຂເປັນ True. ຖ້າເປັນ False, ໂປຣແກຣມຈະດຳເນີນການຕໍ່ດ້ວຍຄຳສັ່ງ ElseIf ຫຼື Else ຖັດໄປ. ຄຳສັ່ງທີ່ຕາມຫຼັງ Else ຈະຖືກປະມວນຜົນກໍຕໍ່ເມື່ອບໍ່ມີເງື່ອນໄຂໃດກ່ອນໜ້ານີ້ເປັນ True. ຫຼັງຈາກປະເມີນເງື່ອນໄຂທັງໝົດ ແລະ ປະມວນຜົນຄຳສັ່ງທີ່ກ່ຽວຂ້ອງແລ້ວ, ໂປຣແກຣມຈະດຳເນີນການຕໍ່ດ້ວຍຄຳສັ່ງທີ່ຕາມຫຼັງ EndIf.

ທ່ານສາມາດໃຊ້ຄຳສັ່ງ If...Then ຊ້ອນກັນຫຼາຍຊັ້ນໄດ້.

ຄຳສັ່ງ Else ແລະ ElseIf ເປັນທາງເລືອກ (ຈະມີ ຫຼື ບໍ່ມີກໍໄດ້).

ທ່ານສາມາດໃຊ້ GoTo ແລະ GoSub ເພື່ອກະໂດດອອກຈາກບລັອກ If...Then ໄດ້, ແຕ່ບໍ່ສາມາດກະໂດດເຂົ້າໄປໃນໂຄງສ້າງ If...Then ໄດ້.

### ຕົວຢ່າງ:

ຕົວຢ່າງຕໍ່ໄປນີ້ຊ່ວຍໃຫ້ທ່ານປ້ອນວັນໝົດອາຍຸຂອງຜະລິດຕະພັນ ແລະ ກວດສອບວ່າວັນໝົດອາຍຸນັ້ນຜ່ານໄປແລ້ວຫຼືບໍ່.

    Sub ExampleIfThenDate
        Dim sInput As String
        Dim dInput As Date

      On Error Goto inputError
        sInput = InputBox("ປ້ອນວັນໝົດອາຍຸ (YYYY-MM-DD)")
        dInput = DateValue(sInput)

        If dInput < Date() Then
            MsgBox "ວັນໝົດອາຍຸໄດ້ຜ່ານໄປແລ້ວ"
        ElseIf dInput > Date() Then
            MsgBox "ວັນໝົດອາຍຸຍັງມາບໍ່ທັນຮອດ"
        Else
            MsgBox "ວັນໝົດອາຍຸແມ່ນມື້ນີ້"
        End If

    inputError:
        If dInput = 0 Then MsgBox "ການປ້ອນຂໍ້ມູນບໍ່ຖືກຕ້ອງ"
    End Sub

ຫົວຂໍ້ທີ່ກ່ຽວຂ້ອງ

ຄຳສັ່ງ Select Case

ຟັງຊັນ Iif ຫຼື Switch

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!