อาจมีบางครั้งที่คุณต้องการเรียงลําดับข้อมูล ไม่ใช่ตามลําดับตัวอักษรหรือตัวเลข แต่ตามลําดับที่ผู้ใช้กําหนดเอง (หรือที่เรียกว่า ลําดับแบบกําหนดเองหรือลําดับตรรกะ) ตัวอย่างเช่น การเรียงลําดับวันในสัปดาห์เพื่อให้วันจันทร์ปรากฏก่อนจะเหมาะสมมากกว่าการเรียงลําดับตามตัวอักษร โดยที่วันศุกร์จะปรากฏก่อน คุณสามารถเรียงลําดับข้อมูลในมุมมองแผ่นข้อมูลของตารางหรือคิวรี หรือในมุมมองฟอร์มของฟอร์ม
คุณต้องการทำอะไร
เรียงลําดับค่าเขตข้อมูลที่ไม่ซ้ํากันจํานวนน้อยๆ
ในขั้นตอนนี้ คุณจะเขียนนิพจน์ที่ใช้ฟังก์ชัน IIf เพื่อจัดอันดับตําแหน่งพนักงาน
ขั้นแรก ให้สร้างตารางที่มีสามเขตข้อมูล ได้แก่ ชื่อเรื่อง ชื่อ และ นามสกุล ในเขตข้อมูล ชื่อเรื่อง ให้ใส่ค่าสําหรับระเบียนใหม่สี่ระเบียนต่อไปนี้
-
ผู้ประสานงานฝ่ายขายภายใน
-
ผู้จัดการฝ่ายขาย
-
พนักงานขาย
-
รองประธานฝ่ายขาย
ในเขตข้อมูล FirstName และ LastName ของระเบียนสี่ระเบียน ให้ใส่ชื่อใดๆ ที่คุณต้องการ
-
ตอนนี้ ให้เปิดตารางในมุมมองแผ่นข้อมูล
-
บนแท็บ หน้าแรก ในกลุ่ม เรียงลําดับ & ตัวกรอง ให้คลิก ขั้นสูง แล้วคลิก ตัวกรอง/เรียงลําดับขั้นสูง บนเมนูทางลัด
-
เพิ่มเขตข้อมูลที่คุณต้องการ เช่น ชื่อนามสกุล และ ชื่อเรื่อง ลงในเส้นตาราง
-
คลิกขวาที่แถว เขตข้อมูล ในคอลัมน์ว่างแรก คลิก ย่อ/ขยาย แล้วพิมพ์นิพจน์ต่อไปนี้:
IIf ([ชื่อเรื่อง] = "รองประธานฝ่ายขาย", 1, IIf ([ตําแหน่ง] = "ผู้จัดการฝ่ายขาย", 2, IIf ([ตําแหน่ง] = "พนักงานขาย", 3, IIf ([ชื่อเรื่อง] = "Inside Sales Coordinator", 4, 5))))
ชื่อเรื่อง คือชื่อของเขตข้อมูลที่มีค่าที่กําลังจัดอันดับ ค่าที่อยู่ในเครื่องหมายอัญประกาศคือค่าแต่ละค่าที่เก็บอยู่ในเขตข้อมูล ค่าตัวเลขที่ตามมาคือลําดับที่กําหนดให้กับค่านั้น นิพจน์ก่อนหน้าจะกําหนดชื่อที่ต่างกันจาก 1 ถึง 4 ถึง 4 และกําหนดลําดับที่ 5 ให้กับผู้อื่นทั้งหมด เมื่อคุณทําการเรียงลําดับ ชื่อเรื่องที่ไม่ได้กล่าวถึงในนิพจน์นี้จะถูกกําหนดลําดับเดียวกัน (5)
-
ในแถว เรียงลําดับ สําหรับคอลัมน์ที่มีนิพจน์ ให้คลิก จากน้อยไปหามาก
-
บนแท็บ หน้าแรก ในกลุ่ม เรียงลําดับ & ตัวกรอง ให้คลิก สลับตัวกรอง
ฟังก์ชัน IIf จะส่งกลับค่าตัวเลขที่สอดคล้องกับค่าในเขตข้อมูล ชื่อเรื่อง ตัวอย่างเช่น ถ้าค่าในเขตข้อมูล Title คือ Sales Manager ตัวเลขที่กําหนดจะเป็น 2 ถ้ามีค่าในเขตข้อมูล ชื่อเรื่อง ที่ไม่ได้แสดงเป็นอาร์กิวเมนต์ในฟังก์ชัน ตัวอย่างเช่น ผู้ประสานงานเขต จะถูกกําหนดเป็นตัวเลข 5 จากนั้นคิวรีจะเรียงลําดับตัวเลขเหล่านี้จากน้อยไปหามาก
เรียงลําดับค่าเขตข้อมูลที่ไม่ซ้ํากันจํานวนมาก
ถ้าคุณมีค่าจํานวนมากที่จะจัดอันดับ วิธีที่ดียิ่งขึ้นในการเรียงลําดับข้อมูลคือการสร้างตารางการค้นหา
สมมติว่าตารางพนักงานอ้างอิงถึงมากกว่า 50 ชื่อเรื่องที่แตกต่างกัน คุณจะต้องสร้างตารางการค้นหาก่อน และเตรียมตารางที่มีอยู่เพื่อค้นหาตารางใหม่ จากนั้นคุณเชื่อมโยงสองตารางและสร้างคิวรี
สร้างตารางการค้นหาและปรับเปลี่ยนตารางที่มีอยู่
-
สร้างตารางการค้นหาใหม่ที่จะจัดเก็บชื่อเรื่อง ตั้งชื่อ ตาราง tblTitles และตั้งค่าเขตข้อมูลเป็นชนิดข้อมูลที่ระบุในวงเล็บ ตามที่แสดงในตารางต่อไปนี้:
TITLEID
(ตัวเลขอัตโนมัติ)ชื่อเรื่อง
(ข้อความ)1
รองประธานฝ่ายขาย
2
ผู้จัดการฝ่ายขาย
3
พนักงานขาย
4
ผู้ประสานงานฝ่ายขายภายใน
-
ตั้งค่าเขตข้อมูล TitleID เป็นคีย์หลัก
-
ปรับเปลี่ยนตารางพนักงานเพื่อให้ค้นหาตาราง tblTitles
-
ในมุมมองออกแบบ ให้เปลี่ยนชื่อของเขตข้อมูล ชื่อเรื่อง เป็น TitleID
-
ในคอลัมน์ ชนิดข้อมูล ให้เปลี่ยน ชนิดข้อมูล เป็น ตัวเลข
-
-
บนแท็บ ทั่วไป ภายใต้ คุณสมบัติเขตข้อมูล ให้เปลี่ยน ขนาดเขตข้อมูล เป็น จํานวนเต็มแบบยาว
-
บันทึกตารางและละเว้นคําเตือนเกี่ยวกับการสูญหายของข้อมูล
-
สลับเป็นมุมมองแผ่นข้อมูล
-
ใส่ข้อมูลในคอลัมน์ ชื่อเรื่อง ด้วยค่า TitleID ที่สอดคล้องกับค่าชื่อเรื่อง
ตัวอย่างเช่น สําหรับระเบียนที่ค่า ชื่อเรื่อง คือ Sales Manager ให้พิมพ์ 2 สําหรับพนักงานขาย ให้พิมพ์ 3
-
บันทึกและปิดตาราง
เชื่อมโยงสองตาราง
-
บนแท็บ เครื่องมือฐานข้อมูล ในกลุ่ม ความสัมพันธ์ ให้คลิก ความสัมพันธ์
-
บนแท็บ ออกแบบ ในกลุ่ม ความสัมพันธ์ ให้คลิก เพิ่มตาราง (หรือ แสดงตาราง ใน Access)
-
เลือก tblTitles และ พนักงาน แล้วคลิก เพิ่ม เพื่อเพิ่มลงในหน้าต่างความสัมพันธ์ ปิดกล่องโต้ตอบ แสดงตาราง
-
ลากเขตข้อมูล TitleID จากตาราง tblTitles ไปยังเขตข้อมูล TitleID ในตารางพนักงาน
กล่องโต้ตอบ แก้ไขความสัมพันธ์ จะเปิดขึ้น
-
ตรวจสอบให้แน่ใจว่าชื่อเขตข้อมูลที่แสดงในสองคอลัมน์เป็นทั้ง TitleID และกล่อง ชนิดความสัมพันธ์ แสดงแบบหนึ่ง-ต่อ-กลุ่ม คุณสามารถเปลี่ยนชื่อเขตข้อมูลได้ ถ้าจําเป็น
-
เลือกกล่องกาเครื่องหมาย บังคับให้มี Referential Integrity
-
คลิก สร้าง เพื่อสร้างความสัมพันธ์
กล่องโต้ตอบ แก้ไขความสัมพันธ์ จะปิดและบันทึกการเปลี่ยนแปลง
-
ปิดแท็บความสัมพันธ์
สร้างคิวรี
-
บนแท็บ สร้าง ในกลุ่ม คิวรี ให้คลิก การออกแบบคิวรี
-
ในกล่องโต้ตอบ เพิ่มตาราง (แสดงตารางใน Access) ให้คลิกแท็บ ตาราง ดับเบิลคลิกพนักงาน แล้วดับเบิลคลิกที่ tblTitles
-
เพิ่มเขตข้อมูล EmployeeID, LastName และ FirstName จากตาราง Employees และเขตข้อมูล Title จากตาราง tblTitles ลงในตารางออกแบบคิวรี
-
สลับเป็นมุมมองแผ่นข้อมูล