MS Access Veritabanları, VBA ve SQL Kullanımı

Microsoft Access'e dair herşey...

If Then Else Fonksiyonu

  FONKSİYONLAR


Gelişmiş/Mantıksal Fonksiyonlar
İf...Then...Else Fonksiyonu

Açıklama

IF...THEN...ELSE fonksiyonu, 
SELECT CASE fonksiyonunun bir alternatifidir. Bir karar yapısıdır. Bir veya birden fazla şartı değerlendirip bu değerlendirme sonucunda çıkan değere göre nelerin yapılacağını belirleyen bir fonksiyondur.

Bakmak İsteyebilecekleriniz:
IIf fonksiyonu,
Select Case fonksiyonu,

Söz Dizimi

İf_Şart1_Then
Sonuç_1
Elseif_Şart_2_Then
Sonuç_2
Elseif_Şart_3_Then
Sonuç_3
Elseif_Şart_n_Then
Sonuç_n
Else
Sonuç
Endif

PARAMETRELER
  • Şart1,Şart2...ŞartN: Değerlendirme ilk sıradan başlar, hangi sırada şart sağlanmışsa (örneğin Şart6) Şart6 nın altındaki Sonuç6 kod grubu yürütülür ve kod Endif satırına atlayarak kodun yürütülmesi durdurulur.
  • Sonuç1,Sonuç2...SonuçN: İlgili şart sağlandığında çalıştırılacak kod grubunu temsil eder.
Örnekler

Örnek-1
İf nesne = "Elma" Then 
Tür = "Meyve"
End if

Sonuç: Nesne değerine bakılır eğer nesne "Elma" değerini içeriyorsa tür değişkenini "Meyve" olarak belirle. Sadece bu şart sağlanırsa bu kod yürütülür, aksi takdirde hiç çalışmaz. 

Örnek-2
if yaş >  0 And yaş < 10 Then
Msgbox "Çocuk"
Elseif yas > 10 And yas < 25 Then
Msgbox  "Genç"
Elseif yas  > 25 And yas < 65 Then
Msgbox "Orta Yaş"
Elseif yas >65 And yas<85 Then
Msgbox "Yaşlı"
Else
Msgbox "Çok Yaşlı"
End if

Sonuç: Bu örneğimizde yaş değerini kontrol edeceğiz. Yaş değerimiz 0 dan büyük 10 dan küçük ise durumu "Çocuk" olarak belirleyecektir. Bu şartlar sıra ile kontrol edilir. Sıralamada dikkat etmemiz gereken nokta mantık sırasıdır. Yani ilk önce 0-10 aralığını 2. else'ye 65-85 aralığını yazmamız mantıklı bir sıralama olmaz. Mantıklı sıralamadan kastımız küçükten büyüğe dığru sıralama veya duruma göre büyükten küçüğe doğru sıralamadır. Aralarda düzensiz şart vermemeliyiz. Bu durumda istediğimiz sonucu elde edemeyebiliriz.

Örnek-3
if yas >  0 And yaşs < 10 Then
    if kilo >20 Then
        Msgbox "Çok Kilolu"
    Elseif kilo > 20 And kilo > 10 Then
        Msgbox  "Normal Kilolu"
    Else
        Msgbox "Az Kilolu"
    End if
Else
    Msgbox "Lütfen 0 ie 10 arasında bir sayı giriniz!"
End if

Sonuç: Bu örneğimizde iç içe oluşturulmuş bir karar yapısı görülmektedir.


VBA Kullanımı ve Sonucu


İf Then Else Fonksiyonu


Örnek kodumuzu F5 tuşuna basarak çalıştıralım.

İf Then Else Fonksiyonu
Bizden yaş değerini girmemiz isteniyor, 45 değerini girelim ve Tamam butonuna tıklayalım.

İf Then Else Fonksiyonu
Evet şartımız 3.sırada olan 25'den büyük 65'den küçük şartı. Bu şartın altında "Orta Yaş" ifadesi yer alıyor ve dolayısıyla bizde bu sonucu alıyoruz.

İf Then Else Fonksiyonu

Şimdi tekrar çalıştıralım bu sefer 90 değerini verelim. Yazdığımız kod içerisine bakıyoruz 90 la ilgili herhangi bir değer belirlememişiz. Bu durumda ne olacak, en sondaki Else değerinden sonraki kod yürütülecektir. En sondaki Else'nin anlamı Şudur. Eğer yukarıdaki şartların hiçbiri sağlanmıyorsa buradaki kodları yürüt. 90 değeri ise yukarıdaki şartlar içerisinde bulunmadığından Else'den sonraki ifade "Çok Yaşlı" değerini döndürecektir. 85'den büyük her değer için bu şart sağlanır. Yani 150 de girseniz 200'de girseniz bu şartı sağlar.

İf Then Else Fonksiyonu

Kod:
Sub iciceifthenelseExample()
Dim yas As Integer
Dim kilo As Integer

kilo = InputBox("Kilo Giriniz: ")
yas = InputBox("Yaş Giriniz: ")

If yas > 0 And yas < 10 Then 'Yaş 0'dan büyük 10'dan küçük ise
    If kilo > 20 Then 'Kilo 20'den büyük ise
MsgBox "Çok Kilolu" ElseIf kilo < 20 And kilo > 10 Then 'Kilo 10'dan büyük 20'den küçük ise
MsgBox "Normal Kilolu" Else 'Kilo 10'dan küçük ise
MsgBox "Az Kilolu" End If Else MsgBox "Lütfen Yaş aralığını 0 ie 10 arasında bir sayı giriniz!" End If End Subb


IF...THEN...ELSE fonksiyonu ile bir karar yapısının nasıl çalışacağını artık biliyoruz.
Gelecek makalemizde Yerleşik Fonksiyonların anlatımına devam edeceğiz. Yorumlarınızı ve eleştirilerinizi bekliyorum.

Şimdilik,
Hoşcakalın...

Yorum Gönder

0 Yorumlar