Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   Access Dersanesi (http://www.excel.web.tr/forumdisplay.php?f=171)
-   -   IF - THEN - ELSE Karar Yapısı (http://www.excel.web.tr/showthread.php?t=100388)

Taruz 19-05-2011 21:35

IF - THEN - ELSE Karar Yapısı
 
GİRİŞ

Access ile hazırladığımız uygulamalarımızda yapmak istediklerimiz arttıkça artık menülerin, sihirbazların, makroların yetersiz kaldığını hissederiz.. Ama biz uygulamalarımızın daha özgün, esnek ve de kullanışlı olmasını istiyoruz.. Bu da demektir ki artık ufak ufak kod yazmayı öğrenmenin zamanı gelmiştir..





Merhaba arkadaşlar..

İf - Then - Else karar yapısı en sık kullandığımız yapılardan biridir.. Oldukça esnek ve kullanışlı olan bu yapıyı hazırlamak kolay ve keyiflidir..

Temel yapı bu şekilde..:



If Koşul Then
Koşul oluştuğunda yapılmasını istediğimiz işlemler..
Else
Koşul oluşmadığında yapılmasını istediğimiz işlemler..
End If



Formunuzun üzerine iki adet metin kutusu (metin1, metin2) ve bir komut düğmesi (komut1) yerleştirin..
Düğmenin tıklandığında olayına bu yapıyı kullanalım şimdi:


Kod:

If Metin1 = "elma" Then
Metin2 = "meyve"
End If



Formu şimdi açıp metin1 e elma yazın ve düğmeyi tıklayın..

Türkçe meali..:

Eğer metin1 de elma yazıyorsa metin2 ye meyve yaz..

Yapı yukarıdaki gibi tek şart ve tek sonuçtan oluşuyorsa işi End If kullanmadan tek satırla da bitirebiliriz..


Kod:

If Metin1 = "elma" Then Metin2 = "meyve"


Şimdi yapıya Else dahil edip kodumuzu geliştirelim..:

Yukarıdaki yapıda metin1 de elma harici bir eğer varsa metin2 de bir şey yazmaz.. Şimdi Else kullanarak istediğimiz şart oluşmadığında metin2 ye değer yazalım..:



Kod:

If Metin1 = "elma" Then
Metin2 = "meyve"
Else
Metin2 = "Türü belli değil.."
End If



Şimdi diğer bir aşama..: ElseIf


Kod:

If Metin1 = "elma" Then
Metin2 = "meyve"
ElseIf Metin1 = "ıspanak" Then
Metin2 = "sebze"
Else
Metin2 = "Türü belli değil.."
End If


Meali..:

Eğer metin1 de elma yazıyorsa metin2 ye "meyve" yaz. Yok eğer ıspanak yazıyorsa metin2 ye "sebze" yaz.. Bunlardan başka bir şey yazıyorsa "türü belli değil" yaz..

Koşulları arttırabiliriz..:

Formumuza bir metin kutusu (metin3) daha ilave edelim..


Kod:

If Metin1 = "elma" And Metin3 = "amasya" Then
Metin2 = "yerli meyve"
Else
Metin2 = "Türü belli değil.."
End If




Eğer metin1 de "elma" ve metin3 de "amasya" yazıyorsa metin2 de "yerli meyve" yaz.. Bu iki şart gerçekleşmiyorsa "Türü belli değil.." yaz.

Bu da Or operatörü ile kullanımı..:


Kod:

If Metin1 = "elma" Or Metin3 = "portakal" Then
Metin2 = "meyve"
Else
Metin2 = "Türü belli değil.."
End If




Eğer metin1 de "elma" ya da metin3 de "portakal" yazıyorsa metin2 de "meyve" yaz.. Bu iki şart gerçekleşmiyorsa "Türü belli değil.." yaz.



Bu yapı içerisinde bir çok karşılaştırma operatörünü kullanabiliriz..:


Kod:

If Metin1 <>  '..... Eşit değilse
If IsNull(Metin1) '..... Boşsa
If Not IsNull(Metin1) '..... Boş değilse
If Metin1 >  '..... Büyükse
If Metin1 >=  '..... Eşit ve Büyükse
If Metin1 <  '..... Küçükse
If Metin1 <=  '..... Eşit ve Küçükse



Yapı, temel olarak bu şekilde.. Daha da detaylandırıp kafa karıştımayalım.. Özümsedikten sonra kendiniz zaten daha da gelişmiş yapıları oluşturacaksınızdır..


Taruz... 2011

İsmail Küçükşengün 21-05-2011 12:46

Taruz hocam,

Bu önemli bilgilendirme için çok teşekkürler.

Bulent94 28-12-2013 00:59

Sayın Taruz;

IF - THEN - ELSE Karar Yapısını tarih aralığı için nasıl kullanabilirim?

Örneğin; 21 Ekim (21.10) ile 21 Mart (21.03) arasında ise TextBox = "B" olsun
veya
21 Mart (21.03) ile 21 Ekim (21.10) arasında ise TextBox = "C" olsun

Şöyle bir şey denemeye çalıştım ama olmadı:
Dim ilk As Date, son As Date
ilk = DateValue("21.10")
son = DateValue("21.03")

If TextBox20.Value < ilk Or CDate(TextBox1.Value) > son Then
TextBox20.Value = "C"
ElseIf TextBox20.Value > ilk Or CDate(TextBox1.Value) < son Then
TextBox20.Value = "B"
End If

Yardımlarınız için şimdiden teşekkür ederim.


Saat 17:08

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.