InStr İşlevi

Uygulandığı Öğe
Microsoft 365 için Access Access 2024 Access 2021 Access 2019 Access 2016

Bir dizenin başka bir dize içindeki ilk örneğinin konumunu belirten bir Variant (Long) döndürür.

Bazı örneklere bakın

Söz dizimi

InStr([start, ] dize1, dize2 [, karşılaştırma ] )

InStr işlevinin söz diziminde aşağıdaki bağımsız değişkenler bulunur:

Bağımsız değişken Açıklama
başlangıç İsteğe bağlı. Her arama için başlangıç konumunu ayarlayan sayısal ifade. Belirtilmezse, arama ilk karakter konumundan başlar. Başlangıç Null değerini içeriyorsa bir hata oluşur. Karşılaştırma belirtilmişse, başlangıç bağımsız değişkeni gerekir.
dize1 Gerekli. Aranan dize ifadesi.
dize2 Gerekli. Dize ifadesi aradı.
karşılaştırma İsteğe bağlı. Dize karşılaştırma türünü belirtir. Karşılaştırma Null ise, bir hata oluşur. Karşılaştırma belirtilmezse, OptionCompare ayarı karşılaştırma türünü belirler. Karşılaştırmada yerel ayara özgü kuralları kullanmak için geçerli bir LCID (LocaleID) belirtin.

İpucu

İfade Oluşturucusu'nun IntelliSense'i vardır ve ifadenize hangi bağımsız değişkenlerin gerektiğini görebilirsiniz.

Ayarlar

Karşılaştırma bağımsız değişkeni ayarları şunlardır:

Sabit Değer Açıklama
vbUseCompareOption -1 Option Compare deyiminin ayarını kullanarak bir karşılaştırma gerçekleştirir.
vbBinaryCompare 0 İkili karşılaştırma yapar.
vbTextCompare 1 Metin karşılaştırmasını yapar.

Sonuç değerleri

If InStr sonucu
dize1 sıfır uzunlukta 0
dize1 Null Null
dize2 sıfır uzunlukta Başla
dize2 Null Null
dize2 bulunamadı 0
dize2, dize1 içinde bulunur Eşleşmenin bulunduğu pozisyon
başlangıç > dizesi2 0

Açıklamalar

InStrB işlevi, bir dizede bulunan bayt verileriyle kullanılır. InStrB, bir dizenin başka bir dize içindeki ilk örneğinin karakter konumunu döndürmek yerine, bayt konumunu döndürür.

Örnekler

InStr işlevini bir ifadede kullanma İfadeleri kullanabildiğiniz her yerde InStr'yi kullanabilirsiniz. Örneğin, IP adresleri içeren (IPAddress adlı) bir alanda ilk noktanın (.) konumunu bulmak istiyorsanız, bunu bulmak için InStr kullanabilirsiniz:

InStr(1,[IPAddress],".")

InStr işlevi IPAddress alanındaki her değeri inceler ve ilk dönemin konumunu döndürür. Dolayısıyla, IP adresinin ilk bölümü 10 ise, işlev 3 değerini döndürür.

Daha sonra, InStr işlevinin çıktısı üzerinde çalışan diğer işlevleri kullanarak, IP adresinin ilk noktadan önceki bölümünü ayıklayabilirsiniz, örneğin:

Left([IPAddress],(InStr(1,[IPAddress],".")-1))

Bu örnekte, InStr(1,[IPAddress],".") İlk dönemin konumunu verir. 1 çıkarma işlemi, ilk noktadan (bu durumda 2) kaç karakter önce geldiğini belirler. Left işlevi daha sonra IPAddress alanının sol kısmından bu kadar çok karakteri ayıklar ve 10 değerini döndürür.

VBA kodunda InStr kullanma 

Not

Aşağıdaki örneklerde, bu işlevin Visual Basic for Applications (VBA) modülünde kullanımı gösterilir.

Bu örnek, bir dizenin başka bir dize içindeki ilk örneğinin konumunu döndürmek için InStr işlevini kullanır.


Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"    ' String to search in.
SearchChar = "P"    ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)    
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar)    ' Returns 9.
MyPos = Instr(1, SearchString, "W")    ' Returns 0.

Ayrıca Bkz:

Dize işlevleri ve bu işlevlerin kullanımı