วันศุกร์ที่ 26 กรกฎาคม พ.ศ. 2556

การลบข้อมูลที่มีข้อมูลซ้ำกับตารางอื่น และนำข้อมูลเข้าตาราง

การลบข้อมูลในตาราง เราใช้การสร้างแบบสอบถามประเภทลบ และระบุในเงื่อนไขว่า ต้องการลบฟิลด์ที่มีข้อมูลชื่ออะไร เช่น ต้องการลบข้อมูลของ สมศักดิ์ ออกจากตาราง Table1 ทั้งหมด สร้างเป็นเงื่อนไข ในช่องเงื่อนไข ของแบบสอบถาม ได้ดังนี้
[Table1].[fname]="สมศักดิ์"

แต่ในกรณีที่ต้องการลบข้อมูลในตารางหนึ่ง โดยให้ลบเฉพาะรายการที่ซ้ำกันกับตารางอีกตารางหนึ่ง ดังภาพ จะทำอย่างไร
จากภาพ จะเห็นว่า ใน Table2 มีชื่อคนที่ซ้ำกับใน Table1 อยู่ จำนวน 2 คน คือ สมศักดิ์ รักชาติ และ สุดา อารยา เราต้องการลบข้อมูลของคนทั้งสอง ในตาราง Table2 โดยจะลบเฉพาะที่มีชื่อและนามสกุลซ้ำกับข้อมูลในตาราง Table1 จะทำอย่างไร

หลักการ
สร้างแบบสอบถาม ประเภทลบข้อมูล แล้วกำหนดในเงื่อนไข โดยในเงื่อนไขระบุให้ไปเลือกข้อมูลในอีกตารางหนึ่งที่มีเงื่อนไขข้อมูลที่ซ้ำกัน

วิธีการ
  1. สร้างแบบสอบถามชนิดลบข้อมูล ไปที่ เมนูสร้าง กลุ่มแบบสอบถาม เลือกออกแบบแบบสอบถาม
  2. นำเข้าตาราง Table2 และกำหนดชนิดแบบสอบถามเป็นชนิด ลบ
  3. เลือกฟิลด์ชื่อและนามสกุล เพื่อจะได้ใช้เป็นเงื่อนไข
  4. ที่ช่องเกณฑ์ ในเขตข้อมูล ชื่อ ให้คลิกขวา และเลือก ย่อ/ขยาย เพื่อเขียนโค้ด
  5. เขียนโค้ดต่อไปนี้ลงในกรองข้อความ
    In (select table1.fname from table1 where table2.ชื่อ = table1.fname)
  6. ที่ช่องเกณฑ์ ของเขตข้อมูล นามสกุล ให้เขียนโค้ด ดังนี้
    In (select table1.lname from table1 where table2.นามสกุล = table1.lname)
  7. เป็นอันเสร็จการสร้าง แบบสอบถามสำหรับลบข้อมูลใน Table2 ที่มีข้อมูลชื่อ และนามสกุล ซ้ำกับข้อมูลในเขตข้อมูล fname และ lname ในตาราง Table1
  8. ถ้าดูโค้ดที่เป็น SQL ซึ่งสามารถจะนำไปใช้ใน VBA ได้ จะเห็นดังนี้

    DELETE Table2.[ชื่อ], Table2.[นามสกุล]
    FROM Table2
    WHERE (((Table2.[ชื่อ]) In (select table1.fname from table1 where table2.ชื่อ = table1.fname)) AND ((Table2.[นามสกุล]) In (select table1.lname from table1 where table2.นามสกุล = table1.lname)));
  9. คลิกปุ่ม เรียกใช้ จะแจ้งให้ทราบว่า มีข้อมูลที่จะลบออก 2 รายการ ตามข้อมูลที่ซ้ำกัน
  10. เมื่อคลิก ใช่ และกลับไปดูที่ตาราง Table2 จะเห็นว่าข้อมูลที่ซ้ำกัน ได้ถูกลบออกไป เป็นที่เรียบ
เมื่อลบข้อมูลที่ซ้ำกันออกแล้ว จะนำข้อมูลใน Table2 ไปต่อกับข้อมูลที่มีอยู่แล้ว ใน Table1 จะทำอย่างไร

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










ไม่มีความคิดเห็น:

แสดงความคิดเห็น