การเรียงลำดับระเบียนแบบกำหนดเอง

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

คุณต้องการทำสิ่งใด


เรียงลำดับค่าเขตข้อมูลที่ไม่ซ้ำกันจำนวนน้อยและมีจำกัด

ในกระบวนงานนี้ คุณจะเขียนนิพจน์ที่ใช้ฟังก์ชัน IIf เพื่อจัดลำดับตำแหน่งของพนักงาน

ขั้นตอนแรก ให้สร้างตารางที่มีอยู่สามเขตข้อมูล ได้แก่ ตำแหน่ง ชื่อ และนามสกุล ในเขตข้อมูล 'ตำแหน่ง' ให้ใส่ค่าต่อไปนี้สำหรับระเบียนใหม่สี่ระเบียน

  • ผู้ประสานงานการขายภายใน
  • ผู้จัดการฝ่ายขาย
  • พนักงานขาย
  • รองประธานฝ่ายขาย

ในเขตข้อมูล 'ชื่อ' และ 'นามสกุล' ของสี่ระเบียนนั้น ให้ใส่ชื่อที่คุณต้องการ

  1. ตอนนี้ ให้เปิดตารางในมุมมองแผ่นข้อมูล
  2. บนแท็บ หน้าแรก ในกลุ่ม เรียงลำดับและกรอง ให้คลิก ขั้นสูง แล้วคลิก ตัวกรอง/เรียงลำดับขั้นสูง
  1. เพิ่มเขตข้อมูลที่คุณต้องการ เช่น ชื่อ นามสกุล และตำแหน่งลงในตาราง
  2. ให้คลิกขวาที่แถว เขตข้อมูล ในคอลัมน์แรกที่ว่างอยู่ คลิก ย่อ/ขยาย แล้วพิมพ์นิพจน์ดังต่อไปนี้

IIf([ตำแหน่ง] = "รองประธานฝ่ายขาย", 1, IIf([ตำแหน่ง] = "ผู้จัดการฝ่ายขาย", 2, IIf([ตำแหน่ง] = "พนักงานขาย", 3, IIf([ตำแหน่ง] = "ผู้ประสานงานการขายภายใน", 4, 5))))

ตำแหน่งเป็นชื่อของเขตข้อมูลที่มีค่าซึ่งกำลังจะมีการจัดลำดับ ค่าที่อยู่ในเครื่องหมายอัญประกาศเป็นค่าแต่ละค่าที่เก็บในเขตข้อมูล ค่าตัวเลขที่ตามมาเป็นลำดับซึ่งกำหนดให้กับค่านั้น นิพจน์ก่อนหน้านี้จะกำหนดลำดับตั้งแต่ 1 ถึง 4 สำหรับชื่อตำแหน่งที่ต่างกันสี่ชื่อ และกำหนดลำดับ 5 ให้กับค่าอื่นๆ ที่เหลือทั้งหมด เมื่อคุณทำการเรียงลำดับ ชื่อตำแหน่งที่ไม่อ้างถึงในนิพจน์นี้จะถูกกำหนดให้มีลำดับเดียวกัน (5)

  1. ในแถว เรียงลำดับ ของคอลัมน์ที่มีนิพจน์ ให้คลิก จากน้อยไปหามาก
  2. บนแท็บ หน้าแรก ในกลุ่ม เรียงลำดับและกรอง ให้คลิก สลับตัวกรอง

ฟังก์ชัน IIf ส่งกลับค่าตัวเลขที่สัมพันธ์กับค่าในเขตข้อมูล 'ตำแหน่ง' ตัวอย่างเช่น ถ้าค่าในเขตข้อมูล 'ตำแหน่ง' คือ ผู้จัดการฝ่ายขาย โดยหมายเลขที่กำหนดให้คือ 2 ถ้าค่าในเขตข้อมูล 'ตำแหน่ง' ไม่ได้แสดงรายการเป็นอาร์กิวเมนต์ในฟังก์ชัน ตัวอย่างเช่น ผู้ประสานงานส่วนภูมิภาค ซึ่งได้รับการกำหนดด้วยหมายเลข 5 แบบสอบถามจึงเรียงลำดับหมายเลขจากน้อยไปหามาก

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

เรียงลำดับค่าเขตข้อมูลที่ไม่ซ้ำกันจำนวนมาก

ถ้าคุณมีค่าจำนวนมากที่จะจัดลำดับ วิธีเรียงลำดับข้อมูลที่ดีกว่าคือ การสร้างตารางการค้นหา

สมมติว่าตารางพนักงานอ้างถึงชื่อตำแหน่งที่ต่างกันถึง 50 ชื่อ ในขั้นแรก คุณจะต้องสร้างตารางการค้นหาและเตรียมตารางที่มีอยู่เพื่อค้นหาตารางใหม่ จากนั้นสร้างความสัมพันธ์ให้กับตารางทั้งสองและสร้างแบบสอบถามขึ้นมา

สร้างตารางการค้นหาและปรับเปลี่ยนตารางที่มีอยู่

  1. สร้างตารางการค้นหาใหม่เพื่อใช้เก็บชื่อตำแหน่ง ให้ตั้งชื่อตารางนั้นว่า ตำแหน่งทีบีแอล และตั้งค่าเขตข้อมูลให้เป็นชนิดข้อมูลที่ระบุไว้ในวงเล็บ ดังแสดงในตารางต่อไปนี้
ID ตำแหน่ง
(AutoNumber)
ตำแหน่ง
(Text)
1 รองประธานฝ่ายขาย
2 ผู้จัดการฝ่ายขาย
3 พนักงานขาย
4 ผู้ประสานงานการขายภายใน
  1. ตั้งค่าเขตข้อมูล ID ตำแหน่งให้เป็นคีย์หลัก
  2. ปรับเปลี่ยนตารางพนักงานเพื่อให้ค้นหาในตารางตำแหน่งทีบีแอล
    • ในมุมมองออกแบบ ให้เปลี่ยนชื่อเขตข้อมูล ตำแหน่ง เป็น ID ตำแหน่ง
    • ในคอลัมน์ ชนิดข้อมูล ให้เปลี่ยน ชนิดข้อมูล เป็น Number
  3. บนแท็บ ทั่วไป ภายใต้ คุณสมบัติเขตข้อมูล ให้เปลี่ยน ขนาดเขตข้อมูล เป็น Long Integer
  4. บันทึกตารางและไม่ต้องสนใจคำเตือนที่เกี่ยวกับการสูญหายของข้อมูล
  5. สลับไปยังมุมมองแผ่นข้อมูล
  6. ให้ใส่ค่าของ ID ตำแหน่งที่สอดคล้องกับค่าชื่อตำแหน่งลงในคอลัมน์ตำแหน่ง

ตัวอย่างเช่น สำหรับระเบียนที่มีค่าตำแหน่งเป็นผู้จัดการฝ่ายขาย ให้พิมพ์ 2 สำหรับ พนักงานขาย ให้พิมพ์ 3

  1. บันทึกและปิดตาราง

สร้างความสัมพันธ์ระหว่างสองตาราง

  1. บนแท็บ เครื่องมือฐานข้อมูล ในกลุ่ม แสดง/ซ่อน ให้คลิก ความสัมพันธ์
  1. บนแท็บ ออกแบบ ในกลุ่ม แสดง/ซ่อน ให้คลิก แสดงตาราง
  1. เลือก ตำแหน่งทีบีแอล และ พนักงาน และคลิก เพิ่ม เพื่อเพิ่มตารางดังกล่าวลงในหน้าต่าง 'ความสัมพันธ์' จากนั้นปิดกล่องโต้ตอบ แสดงตาราง
  2. ลากเขตข้อมูล ID ตำแหน่งจากตารางตำแหน่งทีบีแอลไปยังเขตข้อมูล ID ตำแหน่งในตารางพนักงาน

กล่องโต้ตอบ การแก้ไขความสัมพันธ์ จะเปิดออก

  1. ตรวจสอบให้แน่ใจว่าชื่อเขตข้อมูลที่แสดงในคอลัมน์ทั้งสองเป็น ID ตำแหน่ง และกล่อง ชนิดของความสัมพันธ์ จะแสดงแบบ หนึ่ง-ต่อ-กลุ่ม คุณสามารถเปลี่ยนชื่อเขตข้อมูลได้ ถ้าจำเป็น
  2. เลือกกล่องกาเครื่องหมาย บังคับให้มี Referential Integrity
  3. ให้คลิก สร้าง เพื่อสร้างความสัมพันธ์

กล่องโต้ตอบ การแก้ไขความสัมพันธ์ จะปิด และบันทึกการเปลี่ยนแปลง

  1. ปิดแท็บ ความสัมพันธ์

สร้างแบบสอบถาม

  1. บนแท็บ สร้าง ในกลุ่ม อื่นๆ แล้วคลิก ออกแบบแบบสอบถาม
  1. ในกล่องโต้ตอบ แสดงตาราง ให้คลิกแท็บ ตาราง คลิกสองครั้งที่ พนักงาน จากนั้นคลิกสองครั้งที่ ตำแหน่งทีบีแอล
  2. ปิดกล่องโต้ตอบ แสดงตาราง
  3. เพิ่มเขตข้อมูล ID พนักงาน นามสกุล และชื่อจากตารางพนักงานและเขตข้อมูลตำแหน่งจากตารางตำแหน่งทีบีแอลไปยังตารางออกแบบแบบสอบถาม
  4. สลับไปยังมุมมองแผ่นข้อมูล

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

 
 
นำไปใช้กับ:
Access 2007