Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Access จะเรียงลำดับระเบียนจากน้อยไปหามากหรือจากมากไปหาน้อยโดยไม่คำนึงถึงตัวพิมพ์ใหญ่-เล็ก อย่างไรก็ตาม คุณสามารถจัดเรียงข้อความตามค่าอักขระ ASCII ได้ด้วยการเขียนโค้ด Visual Basic for Applications (VBA) สักสองสามบรรทัด การเรียงลำดับโดยใช้ค่า ASCII จะทำให้ตัวอักษรตัวพิมพ์ใหญ่แตกต่างจากตัวอักษรตัวพิมพ์เล็ก และให้ผลลัพธ์เป็นลำดับตรงตามตัวพิมพ์ใหญ่-เล็ก

ตารางต่อไปนี้จะแสดงให้เห็นว่าการเรียงลำดับจากน้อยไปหามากใน Access แตกต่างจากการเรียงลำดับตามตัวพิมพ์ใหญ่-เล็กอย่างไร:

ลำดับการจัดเรียงล่วงหน้า

เรียงลำดับจากน้อยไปหามาก

เรียงลำดับตรงตามตัวพิมพ์ใหญ่-เล็ก

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 แล้วพิมพ์บรรทัดต่อไปนี้ในส่วนการประกาศค่า หากยังไม่มี:

    Option Explicit

  2. พิมพ์กระบวนงานต่อไปนี้ในมอดูลใน Visual Basic Editor:

    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 สามารถเรียกใช้ได้จากคิวรี เมื่อคุณส่งชื่อของเขตข้อมูลการเรียงลำดับไปยังฟังก์ชันนี้ ระบบจะเรียงลำดับค่าของเขตข้อมูลตรงตามตัวพิมพ์ใหญ่-เล็ก

  3. ตอนนี้ ให้สร้างคิวรีที่คุณจะเรียกใช้ฟังก์ชันนี้

    บนแท็บ สร้าง ในกลุ่ม คิวรี ให้คลิก การออกแบบคิวรี

  4. เลือก เพิ่มตาราง (แสดงตาราง ใน Access)

  5. ลากเขตข้อมูลที่คุณต้องการไปยังเส้นตาราง

  6. ในคอลัมน์เปล่าคอลัมน์แรก ในแถว เขตข้อมูล ให้พิมพ์ Expr1: StrToHex([SortField])

    StrToHex คือฟังก์ชันที่ผู้ใช้กําหนดเองที่คุณสร้างไว้ก่อนหน้านี้ SortField เป็นชื่อของเขตข้อมูลที่มีค่าตรงตามตัวพิมพ์ใหญ่-เล็ก

  7. ในเซลล์ เรียงลำดับ ให้คลิก จากน้อยไปหามาก หรือ จากมากไปหาน้อย

    ถ้าคุณเลือกเรียงลำดับจากน้อยไปหามาก ค่าที่ขึ้นต้นด้วยตัวอักษรตัวพิมพ์ใหญ่จะปรากฏก่อนตัวอักษรตัวพิมพ์เล็ก การใช้การเรียงลำดับจากมากไปหาน้อยจะให้ผลตรงกันข้าม

  8. สลับเป็นมุมมองแผ่นข้อมูล

    Access จะแสดงระเบียนที่เรียงลำดับตรงตามตัวพิมพ์ใหญ่-เล็ก

ด้านบนของหน้า

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย