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

สิ่งสำคัญ:  บทความนี้เป็นการแปลด้วยเครื่อง โปรดดู ข้อจำกัดความรับผิดชอบ โปรดดูบทความฉบับภาษาอังกฤษ ที่นี่ เพื่อใช้อ้างอิง

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

Option Explicit

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

  2. เมื่อมาถึงขั้นนี้แล้ว ให้สร้างแบบสอบถามที่คุณจะเรียกใช้ฟังก์ชันนี้

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

  3. ในกล่องโต้ตอบ แสดงตาราง ให้คลิกตารางที่คุณต้องการเรียงลำดับ แล้วคลิก เพิ่ม

  4. ลากเขตข้อมูลที่คุณต้องการลงในตาราง

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

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

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

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

  7. สลับไปยังมุมมองแผ่นข้อมูล

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

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

หมายเหตุ: ข้อจำกัดความรับผิดชอบของการแปลด้วยเครื่อง: บทความนี้มีการแปลด้วยระบบคอมพิวเตอร์โดยไม่มีการดำเนินการโดยบุคคล Microsoft จัดให้มีการแปลด้วยเครื่องนี้เพื่อช่วยให้ผู้ใช้ที่ไม่ได้พูดภาษาอังกฤษสามารถใช้ประโยชน์จากเนื้อหาเกี่ยวกับผลิตภัณฑ์ บริการและเทคโนโลยีของ Microsoft เนื่องจากบทความมีการแปลด้วยเครื่อง อาจมีข้อผิดพลาดด้านคำศัพท์ ไวยากรณ์หรือรูปประโยค

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×