החזרת משתנה (ארוך) המציין את מיקום המופע הראשון של מחרוזת אחת בתוך מחרוזת אחרת.
תחביר
InStr ([התחל, ] string1, חרוזת2 [, compare ] )
תחביר הפונקציה InStr מכיל את הארגומנטים הבאים:
ארגומנט |
תיאור |
התחלה |
אופציונלי. ביטוי מספרי המגדיר את מיקום ההתחלה עבור כל חיפוש. אם הושמט, החיפוש מתחיל במיקום התו הראשון. אם התחל מכיל Null, תתרחש שגיאה. הארגומנט התחל נדרש אם ההשוואה צוינה. |
string1 |
נדרש. ביטוי מחרוזת מתבצע בחיפוש. |
חרוזת2 |
נדרש. ביטוי מחרוזת ביקש. |
השוות |
אופציונלי. מציין את סוג ה השוואת מחרוזות. אם השוואה היא Null, תתרחש שגיאה. אם השוואה מושמטת, ההגדרההשוואתאפשרויותקובעת את סוג ההשוואה. ציין LCID (LocaleID) חוקי כדי להשתמש בכללים ספציפיים לאזור בהשוואה. |
עצה: ב-Access 2010, בונה הביטויים כולל את IntelliSense, כך שתוכל לראות אילו ארגומנטים הביטוי שלך דורש.
הגדרות
הגדרות הארגומנט compare הן:
קבוע |
ערך |
תיאור |
vbUseCompareOption |
-1 |
ביצוע השוואה באמצעות ההגדרה של משפט Compare Option . |
vbBinaryCompare |
0 |
ביצוע השוואה בינארית. |
vbTextCompare |
1 |
ביצוע השוואה טקסטואלית. |
vbDatabaseCompare |
2 |
Microsoft Office Access 2007 בלבד. ביצוע השוואה בהתבסס על מידע במסד הנתונים שלך. |
החזרת ערכים
אם |
החזרת InStr |
string1 הוא באורך אפס |
0 |
string1 is Null |
Null |
חרוזת2 באורך אפס |
התחלה |
חרוזת2 is 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). לקבלת מידע נוסף אודות עבודה עם 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.