SELECT - CASE Karar Yapısı [Archive] - Excel Forum

PDA

Tüm Versiyonu Göster : SELECT - CASE Karar Yapısı


Taruz
19-05-2011, 20:39
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..

Select Case karar yapısı bir önceki konuda işlediğimiz İf - Then - Else karar yapısının (özellikle Else kısmının) daha efektif kullanılmasını sağlar.. Koşul sonucunun döndürdüğü değerlere göre yapılacak işlemler çoksa yani değişkenin döndürdüğü sonuç birden fazlasya select case kullanmak kesinlikle daha iyidir..

Temel yapı bu şekilde..:



Select Case Değişken

Case Değişken değeri
Değer eşitlendiğinde yapılmasını istediğimiz işlemler..
Case Değişken değeri
Değer eşitlendiğinde yapılmasını istediğimiz işlemler..
Case Else
Değişken değeri hiç bir koşulla örtüşmediğinde yapılmasını istediğimiz işlemler..

End Select



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:


Select Case Metin1
Case "elma"
Metin2 = "meyve"
Case "ıspanak"
Metin2 = "sebze"
End Select



Tercüme edelim..:

metin1 de "elma" yazıyorsa metin2 de "meyve" yazsın "ıspanak" yazıyorsa "sebze" yazsın

Geliştirelim..:


Select Case Metin1
Case "elma"
Metin2 = "meyve"
Case "ıspanak"
Metin2 = "sebze"
Case Else
Metin2 = "türü belli değil"
End Select



metin1 de "elma" yazıyorsa metin2 de "meyve" yazsın "ıspanak" yazıyorsa "sebze" yazsın. Bu değerlerden başka değer yazıyorsa "türü belli değil" yazsın.

Şartları geliştirelim..:


Select Case Metin1
Case "elma", "portakal" 'metin1, bu iki değerden biri ise
Metin2 = "meyve" 'meyve yazsın
Case "ıspanak", "lahana" 'metin1, bu iki değerden biri ise
Metin2 = "sebze" 'sebze yazsın
Case Else 'hiçbiri ise
Metin2 = "türü belli değil" 'bunu yazsın
End Select




Select Case yapısını çok değişik şekillerde fonksiyonlar ve operatörler yardımı ile de kullanabiliriz.. Bu tamamen sizin ne istediğinize bağlı..

Örnek vermeden olmaz..:


Select Case Metin1
Case 1 To 5
Metin2 = "1 ile 5 arasında sayı girdiniz."
Case 6 To 10
Metin2 = "6 ile 10 arasında sayı girdiniz."
Case 11 To 15
Metin2 = "11 ile 15 arasında sayı girdiniz."
Case Is > 15
Metin2 = "15 den büyük bir sayı girdiniz."
End Select



Bu da farklı bir örnek.. Dikkat edin içinde If - Then - Else de kullandık..:


Select Case Metin1
Case 1 To 5
If Metin1 = 3 Then
Metin2 = "3 rakamını girdiniz.."
Else
Metin2 = "1 ile 5 arasında sayı girdiniz."
End If
Case 6 To 10
Metin2 = "6 ile 10 arasında sayı girdiniz."
Case 11 To 15
Metin2 = "11 ile 15 arasında sayı girdiniz."
Case Is > 15
Metin2 = "15 den büyük bir sayı girdiniz."
End Select



Taruz... 2011

İsmail Küçükşengün
21-05-2011, 11:47
Taruz hocam,

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


Özel Arama