ค้นหาค่าซ้ำ แล้วแก้ไขค่าเก่า



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

21 มิ.ย. 61 , 14:22:59
อ่าน 673 ครั้ง

tHizoNe

ผมสร้างคิวรี่ค้นหาค่าซ้ำ เมื่อได้ค่าซ้ำมาแล้วต้องการแก้ไขค่า
ตัวอย่าง
Id   Name   Date   Old
7    A         21/6    Yes
10  A         21/6    Yes
ต้องการให้เป็น
Id   Name   Date   Old
7    A         21/6    No
10  A         21/6    Yes

 

21 มิ.ย. 61 , 23:05:21
ตอบกลับ #1

ปิ่นณรงค์

: ค้นหาค่าซ้ำ แล้วแก้ไขค่าเก่า
« ตอบกลับ #1 เมื่อ: 21 มิ.ย. 61 , 23:05:21 »
ผมสร้างคิวรี่ค้นหาค่าซ้ำ เมื่อได้ค่าซ้ำมาแล้วต้องการแก้ไขค่า
ตัวอย่าง
Id   Name   Date   Old
7    A         21/6    Yes
10  A         21/6    Yes
ต้องการให้เป็น
Id   Name   Date   Old
7    A         21/6    No
10  A         21/6    Yes
สอบถามเพิ่มเติม ถ้า A ในตาราง ซ้ำกันมากกว่า สองละครับ เป็น No หมดไหม
:love: :grin:
 

22 มิ.ย. 61 , 14:38:27
ตอบกลับ #2

tHizoNe

: ค้นหาค่าซ้ำ แล้วแก้ไขค่าเก่า
« ตอบกลับ #2 เมื่อ: 22 มิ.ย. 61 , 14:38:27 »
ถูกต้องครับ ต้องการให้ค่าที่เหมือนกันของเก่าเป็น NO หมดเลย

 

25 มิ.ย. 61 , 10:52:12
ตอบกลับ #3

tHizoNe

: ค้นหาค่าซ้ำ แล้วแก้ไขค่าเก่า
« ตอบกลับ #3 เมื่อ: 25 มิ.ย. 61 , 10:52:12 »
จากไฟล์ที่แนบมา ผมได้ฟอร์มเป็นแบบในรูป เมื่อคลิกที่ปุ่ม ค่า Old ของ A ไม่เปลี่ยน
เพิ่มเติมอีกนิดครับ ค่า Old ของผมเก็บเป็นแบบ Yes/No(Boolean) ต้องแก้ยังไงครับ



 

25 มิ.ย. 61 , 12:12:18
ตอบกลับ #4

ปิ่นณรงค์

: ค้นหาค่าซ้ำ แล้วแก้ไขค่าเก่า
« ตอบกลับ #4 เมื่อ: 25 มิ.ย. 61 , 12:12:18 »
จากไฟล์ที่แนบมา ผมได้ฟอร์มเป็นแบบในรูป เมื่อคลิกที่ปุ่ม ค่า Old ของ A ไม่เปลี่ยน
เพิ่มเติมอีกนิดครับ ค่า Old ของผมเก็บเป็นแบบ Yes/No(Boolean) ต้องแก้ยังไงครับ



อ่อคุณอยากได้แบบที่ วันที่เป็นวันอะไรก็ตามแต่มี A ซ้ำกัน ก็แก้ไขหมดใช่ไหมครับ
เพราะจากที่ดู วันที่คนละวันกัน และมี A แค่วันละ 1 อันมันเลยไม่ใช่ค่าซ้ำกันครับ เดี่ยวแก้ให้ใหม่
:love: :grin:
 

25 มิ.ย. 61 , 13:17:18
ตอบกลับ #5

tHizoNe

: ค้นหาค่าซ้ำ แล้วแก้ไขค่าเก่า
« ตอบกลับ #5 เมื่อ: 25 มิ.ย. 61 , 13:17:18 »
จากไฟล์ที่แนบมา ผมได้ฟอร์มเป็นแบบในรูป เมื่อคลิกที่ปุ่ม ค่า Old ของ A ไม่เปลี่ยน
เพิ่มเติมอีกนิดครับ ค่า Old ของผมเก็บเป็นแบบ Yes/No(Boolean) ต้องแก้ยังไงครับ



อ่อคุณอยากได้แบบที่ วันที่เป็นวันอะไรก็ตามแต่มี A ซ้ำกัน ก็แก้ไขหมดใช่ไหมครับ
เพราะจากที่ดู วันที่คนละวันกัน และมี A แค่วันละ 1 อันมันเลยไม่ใช่ค่าซ้ำกันครับ เดี่ยวแก้ให้ใหม่
ใช่ครับ คนละวันที่ก็ให้วันที่เก่ากว่าเป็น No หมดครับ

 

26 มิ.ย. 61 , 00:23:29
ตอบกลับ #6

ปิ่นณรงค์

: ค้นหาค่าซ้ำ แล้วแก้ไขค่าเก่า
« ตอบกลับ #6 เมื่อ: 26 มิ.ย. 61 , 00:23:29 »
ตัวอย่างใหม่ครับ แก้ไขเลือกวันที่ล่าสุดและ ถ้าวันที่ล่าสุดซ้ำกันก็จะเอาจาก ID มากสุด เป็น True


Query แรก ชื่อ FindDuplicate

โค๊ด: [Select]
SELECT i1.*
FROM table1 AS i1 LEFT JOIN table1 AS i2 ON (i1.DDate < i2.DDate) AND (i1.NNAME = i2.NNAME)
WHERE i2.DDate IS NULL;


Query2 FindDuplicate2

โค๊ด: [Select]
SELECT Max(FindDuplicate.ID) AS ID, FindDuplicate.NNAME, FindDuplicate.DDATE, True AS OLD
FROM FindDuplicate, FindDuplicate AS t
GROUP BY FindDuplicate.NNAME, FindDuplicate.DDATE, True;

คิวรี่สุดท้าย ชื่อ Result

โค๊ด: [Select]
SELECT TABLE1.ID, TABLE1.NNAME, TABLE1.DDATE, IIf(Not IsNull([OLD]),True,False) AS CheckOLD
FROM TABLE1 LEFT JOIN FindDuplicate2 ON TABLE1.ID = FindDuplicate2.ID;
« แก้ไขครั้งสุดท้าย: 26 มิ.ย. 61 , 00:44:40 โดย ปิ่นณรงค์ »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: tHizoNe

26 มิ.ย. 61 , 14:17:36
ตอบกลับ #7

tHizoNe

: ค้นหาค่าซ้ำ แล้วแก้ไขค่าเก่า
« ตอบกลับ #7 เมื่อ: 26 มิ.ย. 61 , 14:17:36 »
ขอบคุณสำหรับความรู้ใหม่ๆ และการแนะนำของคุณปิ่นณรงค์ มากๆนะครับ

 


บอร์ดเรียนรู้ Access สำหรับคนไทย