فرز السجلات بترتيب يتحسس حالة الأحرف

ملاحظة:  نرغب في تزويدك بأحدث محتوى تعليمات لدينا بأسرع ما يمكن وبلغتك الخاصة. وقد تمت ترجمة هذه الصفحة آلياً وقد تحتوي على أخطاء نحوية أو أخطاء تتعلق بالدقة. كما نهدف إلى أن يكون هذا المحتوى مفيداً لك. هل يمكنك إخبارنا إذا كانت المعلومات مفيدة لك في أسفل هذه الصفحة؟ إليك المقالة بالغة الإنجليزية لسهولة الرجوع إليها.

يقوم Microsoft Office Access 2007 بفرز السجلات بترتيب تصاعدي أو تنازلي بغض النظر عن حالة الأحرف. ولكن، يمكنك بكتابة أسطر قليلة من التعليمة البرمجية لـ Visual Basic for Applications ‏(VBA)، فرز السجلات حسب قيم أحرف ‎ ASCII الخاصة بها. يفرق فرز السجلات حسب قيم ASCII بين الأحرف الكبيرة والأحرف الصغيرة، وينتج عنه ترتيب يتحسس حالة الأحرف.

يوضح الجدول التالي كيف يختلف ترتيب الفرز التصاعدي في Access عن ترتيب الفرز الذي يتحسس حالة الأحرف.

قبل ترتيب الفرز

ترتيب تصاعدي

طلب ميزه تحسس حاله الاحرف r

c

a

A

D

A

B

a

B

C

d

b

D

B

c

a

C

C

b

A

D

c

b

d

d

على الرغم من أن النتائج الموجودة في العمود "ترتيب تصاعدي" قد تبدو للوهلة الأولى غير متوقعة، فهي ليست كذلك. في العمود "ترتيب تصاعدي"، يظهر "a" قبل "A" ويظهر " B" قبل "b." يحدث ذلك لأنه عندما يتم تقييم هذه الأحرف كقيم نصية، تكون "A" = "a" و"B" = "b," ، سواء كانت صغيرة أو كبيرة. يراعي Access الترتيب الأصلي للقيم. في العمود "قبل ترتيب الفرز"، يسبق "a" الحرف "A" ويسبق "B" الحرف "b."

عندما تتم عملية الفرز الذي يتحسس حالة الأحرف، يتم استبدال القيم النصية بقيم ASCII الخاصة بها. على سبيل المثال، تكون A = 65 وa = 97 وB = 66 وb = 98 وهكذا.

كتابة التعليمة البرمجية لـ VBA

  1. قم بإنشاء وحدة نمطية لـ VBA واكتب السطر التالي في المقطع Declarations، إذا لم يكن موجودًا بالفعل:

Option Explicit

  1. اكتب الإجراء التالي في وحدة نمطية في "محرر Visual Basic":

    Function StrToHex (S As Variant) As Variant
    '
    ' Converts a string to a series of hexadecimal digits.
    ' For example, StrToHex(Chr(9) & "A~") returns 09417E.
    '
    Dim Temp As String, I As Integer
    If VarType(S) <> 8 Then
    StrToHex = S
    Else
    Temp = ""
    For I = 1 To Len(S)
    Temp = Temp & Format(Hex(Asc(Mid(S, I, 1))), "00")
    Next I
    StrToHex = Temp
    End If
    End Function

    يمكن استدعاء الدالة السابقة المعرّفة من قبل المستخدم، StrToHex، من استعلام. عندما تقوم بتمرير اسم حقل الفرز إلى هذه الدالة، يتم فرز قيم الحقل بترتيب يتحسس حالة الأحرف.

  2. والآن، قم بإنشاء استعلام من حيث تقوم باستدعاء هذه الدالة.

    في علامة التبويب إنشاء، ضمن المجموعة أخرى، انقر فوق تصميم الاستعلام.

  3. في مربع الحوار إظهار جدول، انقر فوق الجدول الذي تريد فرزه، ثم انقر فوق إضافة.

  4. اسحب الملفات التي تريدها إلى الشبكة.

  5. في العمود الفارغ الاول، في صف الحقل، اكتب Expr1: سترتوهيكس([سورتفيلد]).

    StrToHex هي الدالة المعرّفة من قبل المستخدم التي قمت بإنشائها مسبقًا. SortField هو اسم الحقل الذي يحتوي على قيم تتحسس حالة الأحرف.

  6. في الخلية فرز، انقر فوق تصاعدي أو تنازلي.

    إذا اخترت الترتيب التصاعدي، تظهر القيم التي تبدأ بالأحرف الكبيرة قبل تلك التي تبدأ بالأحرف الصغيرة. يقوم تطبيق الترتيب التنازلي بالعكس.

  7. انتقل إلى طريقة عرض "ورقة البيانات".

    يعرض Access السجلات المفروزة بترتيب يتحسس حالة الأحرف.

اعلي الصفحه

تعزيز مهارات Office
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Office Insider

هل كانت المعلومات مفيدة؟

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×