إرجاع متغير (سلسلة) تحتوي على عدد محدد من الأحرف من سلسلة.
بناء الجملة
Mid(string, start [, length ] )
يحتوي بناء جملة الدالة MID على الوسيطات التالية:
| الوسيطة | الوصف |
|---|---|
| سلسلة | مطلوبة. تعبير سلسلة يتم إرجاع أحرف منه. إذا كانت السلسلة تحتوي على Null، فيتم إرجاع القيمة Null . |
| ابدأ | مطلوبة. طويل. موضع الحرف في السلسلة التي يبدأ عندها الجزء المطلوب الحصول عليه. إذا كانت البداية أكبر من عدد الأحرف في السلسلة، تقوم الدالة Mid بإرجاع سلسلة ذات طول صفري (""). |
| length | اختيارية. المتغير (طويل). عدد الأحرف التي سيتم إرجاعها. إذا تم حذفه أو في حالة وجود أحرف أقل من طول في النص (بما في ذلك الحرف الموجود في البداية)، يتم إرجاع كل الأحرف من موضع البداية إلى نهاية السلسلة. |
ملاحظات
لتحديد عدد الأحرف في السلسلة، استخدم الدالة Len .
ملاحظة
استخدم الدالة MidB مع بيانات البايت المضمنة في سلسلة، كما هو الحال في لغات مجموعة الأحرف مزدوجة البايت. بدلا من تحديد عدد الأحرف، تحدد الوسيطات أرقام البايتات. للحصول على التعليمات البرمجية النموذجية التي تستخدم MidB، راجع المثال الثاني في موضوع المثال.
أمثلة عن الاستعلام
| التعبير | النتائج |
|---|---|
| SELECT ProductID, Mid(ProductID,5) AS Expr1 FROM ProductSales; | ترجع "معرف المنتج" وجزء معرف المنتج بدءا من موضع الحرف 5 ويعرض النتائج في العمود Expr1. |
| SELECT ProductID, Mid(ProductID,5,4) AS testMid FROM ProductSales; | ترجع هذه الدالة "ProductID" وجزء معرف المنتج بدءا من موضع الحرف 5، ويحتوي على 4 أحرف، ويعرض النتائج في العمود testMid. |
أمثلة VBA
ملاحظة
توضح أمثلة VBA التالية استخدام هذه الدالة في وحدة نمطية ل Visual Basic for Applications (VBA). لمزيد من المعلومات حول استخدام VBA، حدد "مرجع المطور" في القائمة المنسدلة بجوار "بحث" وأدخل مصطلح أو أكثر في مربع البحث.
يستخدم المثال الأول الدالة Mid لإرجاع عدد محدد من الأحرف من سلسلة.
Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo" ' Create text string.
FirstWord = Mid(MyString, 1, 3) ' Returns "Mid".
LastWord = Mid(MyString, 14, 4) ' Returns "Demo".
MidWords = Mid(MyString, 5) ' Returns "Function Demo".
يستخدم المثال الثاني MidB ودالة معرفة من قبل المستخدم (MidMbcs) لإرجاع الأحرف من سلسلة أيضا. الفرق هنا هو أن سلسلة الإدخال هي ANSI والطول بالبايت.
Function MidMbcs(ByVal str as String, start, length)
MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), _
start, length), vbUnicode)
End Function
Dim MyString
MyString = "AbCdEfG"
' Where "A", "C", "E", and "G" are DBCS and "b", "d",
' and "f" are SBCS.
MyNewString = Mid(MyString, 3, 4)
' Returns ""CdEf"
MyNewString = MidB(MyString, 3, 4)
' Returns ""bC"
MyNewString = MidMbcs(MyString, 3, 4)
' Returns "bCd"