Applies ToAccess لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

تقوم بإرجاع متغير‏ (طويل) يحدد موضع التواجد الأول لسلسلة موجودة داخل سلسلة أخرى.

الاطلاع على بعض الأمثلة

بناء الجملة

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

يحتوي بناء جملة الدالة InStr على هذه الوسيطات:

الوسيطة

الوصف

بدء

اختيارية. تعبير رقمي يعين موضع البداية لكل بحث. إذا تم حذفه، يبدأ البحث في موضع الحرف الأول. إذا كانت البداية تحتوي على Null، يحدث خطأ. وسيطة البدء مطلوبة إذا تم تحديد المقارنة .

string1

مطلوبة. يتم البحث في تعبير السلسلة.

string2

مطلوبة. تم البحث عن تعبير السلسلة.

مقارنه

اختيارية. يحدد نوع مقارنة بين السلاسل. إذا كانت المقارنة فارغة، يحدث خطأ. إذا تم حذف المقارنة ، يحدد إعداد OptionCompare نوع المقارنة. حدد LCID صالحا (LocaleID) لاستخدام قواعد خاصة باللغة المحلية في المقارنة.

تلميح: يحتوي Expression Builder على IntelliSense، بحيث يمكنك معرفة الوسيطات التي يتطلبها التعبير.

الإعدادات

إعدادات وسيطة المقارنة هي:

ثابت

قيمة

الوصف

vbUseCompareOption

‎-1

إجراء مقارنة باستخدام إعداد عبارة Option Compare .

vbBinaryCompare

0

إجراء مقارنة ثنائية.

vbTextCompare

1

إجراء مقارنة نصية.

إرجاع القيم

إذا

إرجاع InStr

string1 هو طول صفري

0

string1 هو Null

فارغ

السلسلة 2 عبارة عن طول صفري

بدء

string2 هو Null

فارغ

لم يتم العثور على string2

0

تم العثور على string2 داخل string1

الموضع الذي تم العثور على المطابقة فيه

بدء > string2

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.

اطلع أيضاً على

دالات السلاسل وكيفية استخدامها

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

تساعدك المجتمعات على طرح الأسئلة والإجابة عليها، وتقديم الملاحظات، وسماعها من الخبراء ذوي الاطلاع الواسع.