باستخدام دوال السلسلة، يمكنك إنشاء تعبيرات في Access تعالج النص بعدة طرق. على سبيل المثال، قد ترغب في عرض جزء فقط من رقم تسلسلي على نموذج. أو، قد تحتاج إلى ربط (تسلسل) عدة سلاسل معا، مثل اسم العائلة والاسم الأول. إذا لم تكن بارعا في التعبيرات حتى الآن، فشاهد إنشاء تعبير.
فيما يلي قائمة ببعض عمليات السلسلة الأكثر شيوعا في Access، والوظائف التي ستستخدمها لتنفيذها:
لتنفيذ الإجراء التالي… |
استخدم... |
على سبيل المثال... |
النتائج |
---|---|---|---|
إرجاع الأحرف من بداية سلسلة |
=Left([SerialNumber],2) |
إذا كان [الرقم التسلسلي] هو "CD234"، تكون النتيجة "CD". |
|
إرجاع أحرف من نهاية سلسلة |
=Right([SerialNumber],3) |
إذا كان [الرقم التسلسلي] هو "CD234"، تكون النتيجة "234". |
|
البحث عن موضع حرف في سلسلة |
=InStr(1,[FirstName],"i") |
إذا كان [FirstName] هو "كولن"، فإن النتيجة هي 4. |
|
إرجاع أحرف من منتصف سلسلة |
=Mid([SerialNumber],2,2) |
إذا كان [الرقم التسلسلي] هو "CD234"، فإن النتيجة هي "D2". |
|
اقتطاع المسافات البادئة أو اللاحقة من سلسلة |
=Trim([FirstName]) |
إذا كان [FirstName] هو " كولن "، فإن النتيجة هي "كولن". |
|
ضم سلسلتين معا |
عامل تشغيل علامة الجمع (+) * |
=[FirstName] + [LastName] |
إذا كان [FirstName] هو "كولن" و[LastName] هو Wilcox، فإن النتيجة هي "كولينويلكوكس" |
ضم سلسلتين مع مسافة بينهما |
عامل تشغيل علامة الجمع (+) * |
=[FirstName] + " " + [LastName] |
إذا كان [FirstName] هو "كولن" وكان [LastName] هو ويلكوكس، فإن النتيجة هي "كولن ويلكوكس" |
تغيير حالة سلسلة إلى أحرف كبيرة أو دنيا |
=UCase([FirstName]) |
إذا كان [FirstName] هو "كولن"، فإن النتيجة هي "كولين". |
|
تحديد طول سلسلة |
=Len([FirstName]) |
إذا كان [FirstName] هو "كولن"، فإن النتيجة هي 5. |
* حسنا ، حتى انها ليست دالة ، انها عامل تشغيل. ومع ذلك، فهي أسرع طريقة لربط السلاسل معا. في قاعدة بيانات سطح المكتب، يمكنك أيضا استخدام عامل العطف (&) لل concatentation.
هناك العديد من الدالات المتعلقة بالنص في Access. هناك طريقة جيدة لمعرفة المزيد عنها وهي فتح Expression Builder والاستعراض عبر قوائم الوظائف. يتوفر Expression Builder في أي مكان تقريبا تريد إنشاء تعبير فيه - عادة ما يكون هناك زر إنشاء صغير يبدو كما يلي:
لإظهار منشئ التعبير، دعنا نفتحه من خاصية مصدر التحكم في نموذج أو طريقة عرض. استخدم أحد الإجراءات أدناه اعتمادا على ما إذا كنت تستخدم قاعدة بيانات سطح مكتب أو تطبيق Access على الويب.
عرض منشئ التعبير في قاعدة بيانات سطح المكتب
-
افتح قاعدة بيانات سطح المكتب (accdb.).
-
اضغط على F11 لفتح جزء التنقل، إذا لم يكن مفتوحا بالفعل.
-
إذا كان لديك نموذج متوفر بالفعل، فانقر بزر الماوس الأيمن فوقه في جزء التنقل وانقر فوق طريقة عرض التخطيط. إذا لم يكن لديك نموذج للعمل معه، فانقر فوق إنشاء نموذج >.
-
انقر بزر الماوس الأيمن فوق مربع نص في النموذج، وانقر فوق خصائص.
-
في ورقة الخصائص، انقر فوق كافة > Control Source وانقر فوق الزر Build على الجانب الأيسر من مربع الخاصية Control Source .
-
ضمن Expression Elements، قم بتوسيع عقدة Functions وانقر فوق Built-In Functions.
-
ضمن فئات التعبير، انقر فوق نص.
-
ضمن قيم التعبير، انقر فوق الدالات المختلفة واقرأ الأوصاف القصيرة في أسفل منشئ التعبير.
ملاحظة: ولا تتوفر كل هذه الدالات في جميع السياقات؛ يقوم Access بتصفية القائمة تلقائيا استنادا إلى تلك التي تعمل في كل سياق.
دمج الدالات النصية لمزيد من المرونة
تحتوي بعض دالات السلسلة على وسيطات رقمية تحتاج في بعض الحالات إلى حسابها في كل مرة تستدعي فيها الدالة. على سبيل المثال، تأخذ الدالة Left سلسلة ورقما، كما في =Left(SerialNumber, 2). هذا أمر رائع إذا كنت تعرف أنك تحتاج دائما إلى الحرفين الأيسرين، ولكن ماذا لو كان عدد الأحرف التي تحتاجها يختلف من عنصر إلى آخر؟ بدلا من مجرد "الترميز الثابت" لعدد الأحرف، يمكنك إدخال دالة أخرى تحسبها.
فيما يلي مثال على الأرقام التسلسلية التي تحتوي كل منها على واصلة في مكان ما في السلسلة. ومع ذلك، يختلف موضع الواصلة:
الرقم التسلسلي |
---|
3928-29993 |
23-9923 |
333-53234 |
3399940-444 |
إذا كنت تريد فقط عرض الأرقام إلى يسار الواصلة، فأنت بحاجة إلى إجراء عملية حسابية في كل مرة لمعرفة مكان الواصلة. أحد الخيارات هو القيام بشيء مثل هذا:
=Left([SerialNumber],InStr(1,[SerialNumber],"-")-1)
بدلا من إدخال رقم كوسيطة ثانية للدالة Left، قمنا بتوصيل الدالة InStr، والتي ترجع موضع الواصلة في الرقم التسلسلي. اطرح 1 من تلك القيمة وتحصل على العدد الصحيح من الأحرف للدالة Left لإرجاعها. يبدو معقدا قليلا في البداية، ولكن مع القليل من التجريب يمكنك الجمع بين تعبيرين أو أكثر للحصول على النتائج التي تريدها.