กระทู้เก่าบอร์ด อ.Yeadram
1,578 9
URL.หัวข้อ /
URL
มีวิธีการอย่างไรในการกรองฟิลด์ที่ซ้ำกันทุกฟิลด์บ้า
ขอรบกวนสอบถาม(อีกแล้ว)ครับ คือผมใช้ Access ในการออกแบบ Database โดยใช้ Primary Key เป็นแบบ Autonumber ซึ่งติดปัญหาอยู่ว่า จะทำอย่างไรให้ข้อมูลที่จะ import เข้าหากซ้ำกับข้อมูลที่อยู่ใน Database ทุกฟิลด์แล้ว ให้ยกเลิกการ import ข้อมูลเรคคอร์ดนั้นออกไป (หากมีรายงานสรุปว่ามีฟิลด์ไหนซ้ำบ้าง จะดีมาก)ครับ
Ex. Table ประวัติการใช้งานของสมาชิก ประกอบด้วยฟิลด์
ชื่อ, เบอร์โทรศัพท์, แพ็คเกต, เครือข่าย ดังนี้ :
นายกวี, 0860666666, โทรไม่อั้น300, AIS
หากมีการ import ข้อมูลของนายกวี เข้ามาใหม่ โดยทุกฟิลด์มีข้อมูลเหมือนกันหมด ให้ไม่นำเรคคอร์ดนายกวีเข้าระบบ แต่มีข้อมูลซ้ำกันเพียงบางฟิลด์ ให้เก็บเรคคอร์ดเข้าระบบ (เป็น Table สำหรับใช้เป็น History ครับ)
Ex. Table ประวัติการใช้งานของสมาชิก ประกอบด้วยฟิลด์
ชื่อ, เบอร์โทรศัพท์, แพ็คเกต, เครือข่าย ดังนี้ :
นายกวี, 0860666666, โทรไม่อั้น300, AIS
หากมีการ import ข้อมูลของนายกวี เข้ามาใหม่ โดยทุกฟิลด์มีข้อมูลเหมือนกันหมด ให้ไม่นำเรคคอร์ดนายกวีเข้าระบบ แต่มีข้อมูลซ้ำกันเพียงบางฟิลด์ ให้เก็บเรคคอร์ดเข้าระบบ (เป็น Table สำหรับใช้เป็น History ครับ)
9 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R04954
ฟิลด์ผมไม่จำนวนไม่มากครับ แต่จำนวนเรคคอร์ดค่อนข้างมาก (ราวๆ7หมื่นเรคคอร์ด) คงต้องใช้วิธีที่ 1 การขจัดข้อมูลซ้ำในขณะนำเข้า ล่ะครับ
ส่วนวิธีการต้องเขียนโค้ดใน Module หรือเปล่าครับ รบกวนขอคำแนะนำด้วยครับ
ส่วนวิธีการต้องเขียนโค้ดใน Module หรือเปล่าครับ รบกวนขอคำแนะนำด้วยครับ
3 @R04957
เขียน Code ก็เอาอยู่แล้วครับ ไม่ยาก มี Email หรือเปล่าครับ ขอหน่อยครับ ผมจะติดต่อไป
4 @R04958
housecute@gmail.com ครับ
5 @R04959
ขอถามเพิ่มหน่อย ไฟล์ข้อมูลที่ Import นั้นนามสกุลอะไรครับ เนื่องจาก Access สามารถนำเข้าข้อมูลได้หลายประเภท
เป็นต้นว่า .txt, .xls, .dbf, .mdb
เป็นต้นว่า .txt, .xls, .dbf, .mdb
6 @R04960
ผมติดต่อไปแล้วไม่ทราบว่า ได้รับเมล์แล้วหรือยัง
ต้องขอโทษด้วยที่ใช้วิธีติดต่อผ่าน Email ส่วนตัว เนื่องจากผมไม่ถนัดเรื่องอธิบาย ชอบแก้โจทย์สดๆ นะครับ มันดี
ต้องขอโทษด้วยที่ใช้วิธีติดต่อผ่าน Email ส่วนตัว เนื่องจากผมไม่ถนัดเรื่องอธิบาย ชอบแก้โจทย์สดๆ นะครับ มันดี
7 @R04964
ยังไม่ได้รับเมล์เลยน่ะครับ
housecute@gmail.com นะครับ
housecute@gmail.com นะครับ
8 @R04965
ไฟล์ import เป็น .xlsx (excel 2007) ครับ
9 @R04969
ส่งไปใหม่แล้วครับ
Time: 0.3243s
1 ถ้าจำนวนฟิลด์มีไม่มาก (อย่างตัวอย่างถือว่าไม่มาก เพราะแค่ 4 ฟิลด์)
ให้เขียนโค้ดแทรก หรือดัก จับในจังหวะนำเข้าข้อมูลได้เลย (แต่ต้องดูวิธีการนำเข้าอีกที ว่ามีจุดแทรก หรือมีจังหวะเหมาะที่จะแทรกงานเข้าไปได้หรือไม่)
2 ถ้าจำนวนฟิลด์มากเกินไป ควรนำเข้าไปให้หมดก่อน แล้วค่อยจัดการไล่ลบเรคคอร์ดซ้ำ โดยการวนลูปเช็ค
สรุปง่ายๆ ก็คือ
1 การขจัดข้อมูลซ้ำในขณะนำเข้า
2 นำเข้าให้ครบก่อนแล้วค่อยขจัดข้อมูลซ้ำ
ซึ่งทั้งสองวิธีสามารถสร้างเป็นรายงานผลการตรวจเช็คได้อยู่แล้วครับ ทีนี้ต้องดูแล้วครับว่า วิธีนำเข้าข้อมูล ของคุณเป็นแบบใด เหมาะสมกับการขจัดข้อมูลซ้ำแบบใด