특정 문자열이 다른 문자열 내에서 처음으로 나타나는 위치를 지정하는 Variant(Long) 형식을 반환합니다.
구문
InStr([start, ] string1, string2 [, compare])
InStr 함수 구문에는 다음 인수가 있습니다.
인수 |
설명 |
시작 |
선택 사항입니다. 각 검색의 시작 위치를 설정하는 숫자 식입니다. 생략하면 첫 번째 문자 위치에서 검색이 시작됩니다. 시작에 Null이 포함되어 있는 경우 오류가 발생합니다. 비교를 지정하는 경우 시작 인수가 필요합니다. |
string1 |
필수 요소입니다. 검색되는 문자열 식입니다. |
string2 |
필수 요소입니다. 문자열 식이 검색됩니다. |
비교 |
선택 사항입니다. 의 형식을 문자열 비교. 비교가 Null인 경우 오류가 발생합니다. 비교가 생략된 경우 옵션 비교 설정에서 비교 유형을 결정합니다. 비교에서 로케이트별 규칙을 사용할 유효한 LCID(LocaleID)를 지정합니다. |
팁: Access 2010에서 식 작성기에는 IntelliSense 있으므로 식에 필요한 인수를 볼 수 있습니다.
설정
비교 인수 설정은:
상수 |
값 |
설명 |
vbUseCompareOption |
-1 |
옵션 비교 문의 설정을 사용하여 비교를 수행합니다. |
vbBinaryCompare |
0 |
이진 비교를 수행합니다. |
vbTextCompare |
1 |
텍스트 비교를 수행합니다. |
vbDatabaseCompare |
2 |
Microsoft Office Access 2007 전용입니다. 데이터베이스의 정보에 따라 비교를 수행합니다. |
값 반환
If |
InStr에서 반환 |
string1은 길이가 0입니다. |
0 |
string1은 Null입니다. |
Null |
string2는 길이가 0입니다. |
시작 |
string2는 Null입니다. |
Null |
string2를 찾을 수 없습니다. |
0 |
string2는 string1 내에서 찾을 수 있습니다. |
일치하는 위치를 찾을 수 있습니다. |
> string2 시작 |
0 |
주의
InStrB 함수는 문자열에 포함된 byte 데이터와 함께 사용됩니다. 다른 문자열 내에서 한 문자열의 첫 번째 발생의 문자 위치를 반환하는 대신 InStrB는 byte 위치를 반환합니다.
예제
식에서 InStr 함수 사용 식을 사용할 수 있는 모든 곳에서 InStr을 사용할 수 있습니다. 예를 들어 첫 번째 기간의 위치를찾으면(를))는 IP 주소(IPAddress)를 포함하는 필드에서 InStr을 사용하여 다음과 같이 찾을 수 있습니다.
InStr(1,[IPAddress],"")
InStr 함수는 IPAddress 필드의 각 값을 검사하고 첫 번째 기간의 위치를 반환합니다. 따라서 IP 주소의 첫 번째 부분이 10인 경우.는 값을 3으로 반환합니다.
그런 다음 InStr 함수의 출력에서 동작하는 다른 함수를 사용하여 첫 번째 기간에 앞서 있는 IP 주소의 부분을 추출할 수 있습니다.
Left([IPAddress],(InStr(1,[IPAddress],")) -1))
이 예제에서는 InStr(1,[IPAddress],"") 는 첫 번째 기간의 위치를 반환합니다. 1을 빼면 첫 번째 기간의 앞에 있는 문자 수가 결정됩니다( 이 경우 2). 그런 다음 왼쪽 함수는 IPAddress 필드의 왼쪽 부분에서 많은 문자를 추출하여 값 10을 반환합니다.
VBA 코드에서 InStr 사용
참고: VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.
이 예제에서는 InStr 함수를 사용하여 다른 문자열 내에서 한 문자열의 첫 번째 발생 위치를 반환합니다.
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.