الدالة Partition

ينطبق على
Access لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

ترجع متغيرا (سلسلة) يشير إلى مكان تواجد رقم داخل سلسلة محسوبة من النطاقات.

بناء الجملة

Partition(number, start, stop, interval)

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

الوسيطة الوصف
رقم مطلوبة. عدد صحيح تريد تقييمه مقابل النطاقات.
ابدأ مطلوبة. عدد صحيح يمثل بداية النطاق الكلي للأرقام. لا يمكن أن يقل الرقم عن 0.
إيقاف مطلوبة. عدد صحيح يمثل نهاية النطاق الكلي للأرقام. لا يمكن أن يكون الرقم مساويا لقائمة البدء أو أصغر منها.
فاصل مطلوبة. عدد صحيح يحدد حجم الأقسام ضمن النطاق الإجمالي للأرقام (بين البدايةوالنهاية).

ملاحظات

تحدد الدالة Partition النطاق المعين الذي يقع فيه الرقم وترجع متغيرا (سلسلة) يصف ذلك النطاق. تعد الدالة Partition مفيدة جدا في الاستعلامات. يمكنك إنشاء استعلام تحديد يعرض عدد الطلبات التي تقع ضمن نطاقات مختلفة، على سبيل المثال، قيم الطلبيات من 1 إلى 1000 ومن 1001 إلى 2000، وما إلى ذلك.

يعرض الجدول التالي كيفية تحديد النطاقات باستخدام ثلاث مجموعات من وسيطات البدءوالتوقفوالفاصل الزمني . تعرض أعمدة النطاق الأول والنطاق الأخير ما يقوم "القسم " بإرجاعه. يتم تمثيل النطاقات بواسطة lowervalue:uppervalue، حيث يتم فصل الطرف الأدنى (القيمة الأدنى) للنطاق عن الطرف الأعلى (القيم العليا) للنطاق بنقطتين (:).

ابدأ إيقاف فاصل قبل الأول المدى الأول النطاق الأخير بعد الأخير
0 99 5 " :-1" " 0: 4" " 95: 99" " 100: "
20 199 10 " : 19" " 20: 29" " 190: 199" " 200: "
100 1010 20 " : 99" " 100: 119" " 1000: 1010" " 1011: "

في الجدول الموضح أعلاه، يعرض السطر الثالث النتيجة عندما تحدد البدايةوالنهاية مجموعة من الأرقام التي لا يمكن قسمتها بالتساوي على الفاصل الزمني. يمتد النطاق الأخير إلى التوقف (11 رقما) على الرغم من أن الفاصل الزمني يساوي 20.

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

إذا كان الفاصل الزمني 1، يكون النطاق هو number:number، بغض النظر عن وسيطتي البدءوالإيقاف . على سبيل المثال، إذا كان الفاصل الزمني 1، والرقم هو 100 وقيمة التوقف 1000، ترجع الدالة Partition " 100: 100".

إذا كان أي جزء فارغ، يقوم Partition بإرجاع قيمة خالية.

أمثلة عن الاستعلام

التعبير النتائج
SELECT Partition(unit price,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); ينشئ مجموعة من النطاقات للقيم الموجودة في الحقل "سعر الوحدة" من "start" (40) إلى "stop" (240) بحجم "فاصل" (20) مساو ويحسب عدد "سعر الوحدة" في النطاقات المعنية. يعرض النطاقات في العمود PriceRange والعدد في العمود "Count".

مثال VBA

يفترض هذا المثال أن لديك جدول "الطلبات" يحتوي على حقل الشحن. يقوم بإنشاء إجراء تحديد يحسب عدد الطلبات التي تقع تكلفة شحنها في كل نطاق من النطاقات المتعددة. يتم استخدام الدالة Partition أولا لإنشاء هذه النطاقات، ثم تقوم وظيفة SQL Count بحساب عدد الطلبات في كل نطاق. في هذا المثال، وسيطات الدالة Partition هي start = 0، stop = 500، interval = 50. وبالتالي سيكون النطاق الأول 0:49، وهكذا حتى 500.

SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);