หาค่าซ้ำ ใน Access ทำได้ง่ายและสะดวก โดยใช้ Queries จะว่าไปหาง่ายกว่าการใช้ Excel ค้นหาค่าซ้ำในบางกรณีเสียอีก เหมาะสำหรับเวลาที่มีข้อมูลเป็นจำนวนมาก
มีข้อมูลทะเบียนที่ดิน ซึ่งมีข้อมูลของ State, County, title_deeds, Survey_no, Utm_code, Utm_no_p, Utm_no, Utm_page, Utm_ratio, Utm_landno, Nrai, Nnhan, Nwah
ข้อมูลเหล่านี้จะต้องคัดกรองก่อนว่ามีข้อมูลซ้ำอยู่หรือไม่ และข้อมูลใดบ้างที่จะเป็นค่าซ้ำที่เราต้องการค้นหา? เรื่องนี้เป็นพื้นฐานที่ซอฟต์แวร์สำนักงานเช่น Access กับ Excel มีคำสั่งสำหรับค้นหาข้อมูลซ้ำอยู่ ใช้งานค่อนข้างง่ายทั้งคู่ แล้วแต่ว่าจะถนัดใช้งานอะไร
ส่วนในบล็อกนี้จะหาค่าซ้ำโดยใช้ Microsoft Access
หาค่าซ้ำ ใน Access
ลองให้ไมโครซอฟต์แอ็กเซสหาข้อมูลซ้ำให้ โดยใช้แบบสอบถาม (Queries) ตรงนี้ต้องคิดหน่อยว่าอะไรที่ซ้ำ ?
สิ่งที่ใช้ในการค้นหาแปลงที่ดินที่ดีที่สุด ไม่ใช่โฉนด หรือ หน้าสำรวจ (ซึ่งซ้ำกันได้หากอยู่ต่างสำนักงานที่ดิน) แต่สิ่งที่ไม่ควรจะมีการซ้ำเกิดขึ้นก็คือ เครื่องหมายตำแหน่งที่ตั้งแปลงที่ดิน เพราะถ้าที่ตั้งตำแหน่งแปลงที่ดินซ้ำ แสดงว่ามีปัญหาอะไรบางอย่างเกิดขึ้นแน่นอน
ตามตัวอย่าง สิ่งที่ระบุตำแหน่งที่ดินก็คือ Utm_code, Utm_no_p, Utm_no, Utm_page, Utm_ratio, Utm_landno
และเมื่อมาพิจารณารายละเอียดพื้นที่ เรามั่นใจว่า Utm_code Utm_no_p ไม่ซ้ำกันแน่นอน และ มาตราส่วนก็มีเพียงมาตราส่วนเดียว ดังนั้นไม่จำเป็นต้องใช้ Utm_ratio ดังนั้นก็เหลือเพียง Utm_no, Utm_page, Utm_landno หรือ ระวาง แผ่น เลขที่ดิน เพียงสามอย่างในการหาค่าซ้ำ โดยสร้างแบบสอบถามโดยใช้ตัวช่วยสร้างแบบสอบถาม (Queries Wizard) ตามขั้นตอนดังนี้
Step by Step
ในแท็บด้านบน คลิก Query Wizard

ในหน้าต่างตัวช่วย คลิก Find Duplicates Query Wizard แล้วคลิก OK.
ในหน้าต่างตัวช่วยต่อมา คลิกเลือกตาราง (หรือแบบสอบถาม) ที่ต้องการหาค่าซ้ำ แล้วคลิก Next
ในหน้าต่างตัวช่วยต่อมา เลือกฟิลด์ที่ต้องการจับค่าซ้ำ ในที่นี้เราเลือก UTM_no UTM_Page และ Land_No ทั้งหมด 3 ฟิลด์ซึ่งเป็นสิ่งที่เราคิดว่าตรงนี้ไม่น่าจะมีการซ้ำ กด > ให้เขตข้อมูลไปอยู่ด้านขวา) แล้วคลิก Next
ในหน้าต่างตัวช่วยต่อมา เลือกเอาฟิลด์ที่ต้องการแสดงมา (ในที่นี้เลือกฟิลด์ที่เหลือทั้งหมด ใช้ >> ให้เขตข้อมูลไปอยู่ด้านขวา) คลิก Next

ในหน้าต่างตัวช่วยต่อมา จะตั้งชื่อแบบสอบถามตามที่ต้องการ หรือจะใช้ชื่อมาตรฐานที่โปรแกรมตั้งมาให้ก็ได้ แล้วคลิก Finish
จะเห็นว่ามีข้อมูล 7 ระเบียนมีค่าซ้ำ
อันนี้คือวิธีการค้นหาระเบียนที่ซ้ำกันแบบง่าย ๆ โดยใช้ Microsoft Access
เพิ่มเติม
แต่ในการทำงานกับ database จริง ควรคิดถึงเรื่องการเชื่อมโยงข้อมูล หรือที่เรียกว่า index หรือ key อย่างกรณีนี้เราใช้ถึง 3 ฟิลด์ในการค้นหา ซึ่งความจริงควรจะมีอะไรสักอย่างที่ไม่ซ้ำกันในตารางข้อมูลนั้น ซึ่งเป็นสิ่งที่เราจะใช้เป็นตัวหลัก
ปกติเวลาสร้างตารางขึ้นมาใน Access จะเห็นว่า Access สร้างฟิลด์หนึ่งให้เป็น Index โดยอัตโนมัติ ซึ่งบางทีเราก็ไม่จำเป็นต้องใช้ที่ Access สร้างให้ แต่ก็ควรจะต้องมีหนึ่งฟิลด์ (เป็นอย่างน้อย) ใช้เป็น key สำหรับเป็นตัวเชื่อมข้อมูลระหว่างตาราง
จากตัวอย่างข้อมูลเป็นที่ดิน สิ่งที่สำคัญที่สุดคือตัวระบุตำแหน่งและชี้แปลงที่ดิน ในตัวอย่างคือ ระวาง-แผ่น-เลขที่ดิน แต่ไม่สามารถตั้ง ระวาง-แผ่น-เลขที่ดิน เป็นคีย์หลัก หรือ คีย์หลัก หรือ ไพรมารีคีย์ (Primary key) ได้ เพราะอาจจะมีข้อมูลซ้ำ แต่ก็ต้องใช้ ระวาง-แผ่น-เลขที่ดิน เป็นคีย์นอก หรือ ฟอร์เรจ์นคีย์ (Foreign Key) เพื่อใช้เป็นตัวเชื่อมข้อมูลและระบุตัวแปลงที่ดิน
อ้างอิง: Find duplicate records with a query จากเว็บทางการของไมโครซอฟต์
อ่านประกอบ: ออกแบบตาราง
