הפונקציה InStr

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

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

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

תחביר

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

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

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

עצה

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

הגדרות

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

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

ערכי החזרה

אם הפונקציה InStr מחזירה
string1 הוא באורך אפס 0
string1 is Null Null
string2 באורך אפס התחלה
string2 is Null Null
string2 לא נמצא 0
string2 נמצא בתוך 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.

למידע נוסף

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