הפונקציה InStr

חל על
Access של Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

החזרת משתנה (‏ארוך) המציין את מיקום המופע הראשון של מחרוזת אחת בתוך מחרוזת אחרת.

ראה כמה דוגמאות

תחביר

InStr([start, ] string1, string2 [, compare ] )

תחביר הפונקציה InStr מכיל את הארגומנטים הבאים:

ארגומנט תיאור
התחלה אופציונלי. ביטוי מספרי המגדיר את מיקום ההתחלה עבור כל חיפוש. אם הוא מושמט, החיפוש מתחיל במיקום התו הראשון. אם start מכיל Null, תתרחש שגיאה. הארגומנט start נדרש אם צוין compare.
מחרוזת1 נדרש. ביטוי מחרוזת הנמצא בחיפוש.
מחרוזת 2 נדרש. נדרש ביטוי מחרוזת.
להשוות אופציונלי. מציין את סוג השוואת המחרוזת. אם compare הוא Null, תתרחש שגיאה. אם compare מושמט, ההגדרה OptionCompare קובעת את סוג ההשוואה. ציין LCID חוקי (LocaleID) לשימוש בכללים ספציפיים למיקום בהשוואה.

עצה

בונה הביטויים כולל את IntelliSense, כך שתוכל לראות אילו ארגומנטים דרושים לביטוי שלך.

הגדרות

הגדרות ארגומנט ההשוואה הן:

קבוע Value תיאור
vbUseCompareOption ‎-1 ביצוע השוואה באמצעות ההגדרה של המשפט Option Compare .
vbBinaryCompare 0 ביצוע השוואה בינארית.
vbTextCompare 1 ביצוע השוואה טקסטואלית.

ערכי החזרה

אם InStr מחזיר
string1 הוא באורך אפס 0
string1 הוא Null Null
string2 הוא באורך אפס להתחיל
string2 הוא Null Null
מחרוזת2 לא נמצאה 0
מחרוזת2 נמצאה בתוך string1 מיקום שבו נמצאה התאמה
מחרוזת > התחלה2 0

הערות

הפונקציה InStrB משמשת עם נתוני בית הכלולים במחרוזת. במקום להחזיר את מיקום התו של המופע הראשון של מחרוזת אחת בתוך מחרוזת אחרת, InStrB מחזיר את מיקום הבית.

דוגמאות

שימוש בפונקציה 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. לאחר מכן, הפונקציה Left מחלצת תווים רבים מה חלקו השמאלי של השדה IPAddress ומחזירה את הערך 10.

השתמש ב- 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.

למידע נוסף

פונקציות מחרוזת ואופן השימוש בהן