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, ] string1, string2 [, compare ] )

InStr işlevinin söz diziminde şu 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. Start null içeriyorsa bir hata oluşur. Karşılaştırma belirtilmişse, başlangıç bağımsız değişkeni gerekir.
dize1 Gerekli. Aranmakta olan dize ifadesi.
dize2 Gerekli. Dize ifadesi aranır.
karşılaştırma İsteğe bağlı. Dize karşılaştırmasının türünü belirtir. Karşılaştır null ise bir hata oluşur. Karşılaştırma atlanırsa, karşılaştırma türünü OptionCompare ayarı belirler. Karşılaştırmada yerel ayara özgü kuralları kullanmak için geçerli bir LCID (LocaleID) belirtin.

İpucu

İfade Oluşturucusu IntelliSense'e sahiptir, böylece ifadenizin hangi bağımsız değişkenleri gerektirdiğini görebilirsiniz.

Ayarlar

Bağımsız değişken ayarlarını karşılaştırmak ş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 gerçekleştirir.
vbTextCompare 1 Metinsel karşılaştırma gerçekleştirir.

Dönüş Değerleri

If InStr dönüşleri
string1 sıfır uzunlukta 0
string1 Null Null
string2 sıfır uzunlukta Başlatmak
dize2 Null Null
string2 bulunamadı 0
string2, string1 içinde bulunur Eşleşmenin bulunduğu konum
başlangıç > dizesi2 0

Açıklamalar

InStrB işlevi bir dizede bulunan bayt verileriyle kullanılır. InStrB, bir dizenin başka bir dizedeki ilk oluşumunun karakter konumunu döndürmek yerine bayt konumunu döndürür.

Örnekler

Bir ifadede InStr işlevini kullanma İfadeleri kullanabileceğiniz her yerde InStr'i kullanabilirsiniz. Örneğin, IP adreslerini (IPAddress adlı) içeren bir alanda ilk dönemin (.) konumunu bulmak istiyorsanız, InStr'i kullanarak bu konumu bulabilirsiniz, örneğin:

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

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

Ardından, IP adresinin ilk dönemden önceki bölümünü ayıklamak için InStr işlevinin çıkışında çalışan diğer işlevleri kullanabilirsiniz, örneğin:

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

Bu örnekte InStr(1,[IPAddress],".") ilk dönemin konumunu döndürür. 1 çıkarılarak ilk dönemden önce kaç karakter (bu durumda 2) belirlenir. 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 oluşumunun 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ı