FONKSİYONLAR
String Fonksiyonları
InStr Fonksiyonu
MS Access'in Yerleşik Fonksiyonları içerisinde yer alan INSTR Fonksiyonu nedir? Ne işe yarar? Bu makalemizde öğreneceğiz.
INSTR fonksiyonu,
Parametrede belirtilen karakter grubu içerisinde yine parametre olarak verilen bir karakterin yer alıp almadığını, yer alıyorsa soldan itibaren kaçıncı karakter olduğunu bulmak için kullanılır. Eğer aranan karakter bulunamazsa dönüş değeri 0 (Sıfır) olur.
Söz Dizimi
INSTR (başlama,aranacak_string,aranacak_karakter,karşılaştırma) |
- başlama: Arama kaçıncı karakterden başlayacak
- aranacak_string: İçerisinde karakter arayacağımız, karakter grubu
- aranacak_karakter: Aranacak String içerisinde hangi karakter aranacak
- karşılaştırma: -1 ile 2 arasında bir değer (isteğe bağlı parametre)
VBA Değer Sabiti | Değer | Açıklama |
vbUseCompareOption | -1 | Seçenek karşılaştırma kullanır |
vbBinaryCompare | 0 | İkili karşılaştırma kullanır. |
vbTextCompare | 1 | String karşılaştırma kullanır. |
vbDatabaseCompare | 2 | Veritabanına göre karşılaştırma yapar. |
Örnek-1
Sonuç: 18
Örnek-2
InStr ("codecanyazilim@hotmail.com","@")
Sonuç: 15
Sonuç: 11
Sonuç: 5
- Aranacak karakter, aranacak string grubu içerisinde yok ise, sonuç değeri 0 (Sıfır) olur.
- Aranacak string grubu sıfır uzunluktaysa, sonuç değeri 0 (Sıfır) olur.
- Aranacak string grubu null değer içeriyorsa, sonuç değeri null olur.
- Aranacak karakter sıfır uzunluğundaysa, sonuç başlama parametresindeki değeri döndürür. Başlama parametresi 3 olarak belirlendiyse 3, 5 olarak belirlendiyse 5, eğer belirlenmediyse varsayılan olarak 1 değerini verir.
- Başlama değeri, aranacak karakterden büyük ise, sonuç 0 (Sıfır) olur
Bu durumda “P karakteri hem 11.sırada hem de 17. Sırada yer almaktadır. Biz başlama değerini 5 olarak vermiştik sonuç 11 olur. Çünkü 5 <11 dir.
Peki şimdi başlangıç değerini 14 olarak verelim. Sonuç 17 olur. Çünkü 17.sırada da aradığımız karakter var. 14<17
Şimdi başlama değerini 18 olarak değiştirelim, sonuç 0 (Sıfır) olur. Çünkü Başlama Değeri > Aranacak karakter Yani 18>17’dir.
Eğer anlayamadığınız noktalar var ise iletişim kısmından bana sorularınızı hiç çekinmeden sorabilirsiniz.
Hoşcakalın...
0 Yorumlar