إرجاع متغير (سلسلة) تحتوي على عدد محدد من الأحرف من سلسلة.
بناء الجملة
Mid( string, start [, length ] )
يحتوي بناء جملة الدالة Mid على هذه الوسيطات:
الوسيطة |
الوصف |
سلسلة |
مطلوبة. تعبير السلسلة التي يتم إرجاع الأحرف منها. إذا كانت السلسلة تحتوي على Null، يتم إرجاع Null . |
بدء |
مطلوبة. طويله. موضع الحرف في السلسلة التي يبدأ فيها الجزء الذي سيتم أخذه. إذا كانت البدء أكبر من عدد الأحرف في السلسلة، فترجع الدالة Mid سلسلة ذات طول صفري (""). |
length |
اختيارية. متغير (طويل). عدد الأحرف المراد إرجاعها. إذا تم حذفه أو إذا كان هناك أقل من أحرف الطول في النص (بما في ذلك الحرف في البداية)، يتم إرجاع جميع الأحرف من موضع البدء إلى نهاية السلسلة. |
ملاحظات
لتحديد عدد الأحرف في السلسلة، استخدم الدالة Len .
ملاحظة: استخدم الدالة MidB مع بيانات البايت المضمنة في سلسلة، كما هو الحال في لغات مجموعة الأحرف مزدوجة البايت. بدلا من تحديد عدد الأحرف، تحدد الوسيطات أرقام وحدات البايت. للحصول على نموذج التعليمات البرمجية الذي يستخدم MidB، راجع المثال الثاني في موضوع المثال.
أمثلة الاستعلام
تعبير |
النتائج |
SELECT ProductID, Mid(ProductID,5) AS Expr1 FROM ProductSales; |
إرجاع "ProductID" وجزء ProductID بدءا من موضع الحرف 5 ويعرض النتائج في العمود Expr1. |
SELECT ProductID, Mid(ProductID,5,4) AS testMid FROM ProductSales; |
إرجاع "ProductID" وجزء ProductID بدءا من موضع الحرف 5، الذي يحتوي على 4 أحرف ويعرض النتائج في عمود testMid. |
أمثلة 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"