อยากทราบว่ากรณีการใช้ acess จับคู่ข้อมูลที่เป็น text



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

24 ส.ค. 63 , 19:32:35
อ่าน 126 ครั้ง

nikorn

  • สมาชิกไท.Access
  • กระทู้: 12

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

 วันนี้ผมมีปัญหากรณีการใช้ access จับคู่ข้อมูลที่เป็น text มันเกิด error หรือยังไงไม่ทราบครับคือ ผมทำตารางข้อมูลรายชื่อขึ้นมาตารางหนึ่ง และมีอีกตารางหนึ่งเป็นข้อมูลที่เป็นรายชื่อที่ทาง หน่วยได้กรองคุณสมบัติรายชื่อของตารางแรกออกมาแล้วเหลือน้อยกว่าตารางแรก (ตัดคนที่มีคุณสมบัติไม่ได้ออก) ผมได้นำตารางที่ 1 มาเชื่อมกันโดยให้ชื่อ ตารางที่ 1 เชื่อมรายชื่อจาก ตารางที่ 2 (เพื่อจะได้ทราบว่าใครผ่านบ้าง) ถ้าจับคู่ไม่ได้ก็แสดงว่าไม่ผ่าน แต่พอเชื่อมความสัมพันธ์เสร็จ รันโปรแกรม คิวรีแสดงข้อมูลออกมาไม่ครบ  โดยก่อนที่ผมจะทำตารางที่ 1  ชื่อ กับ นามสกุลของ ทุกคนแยกกันผมจึงวิธีเชื่อม ชื่อ และ นามสกุล โดยใช้ Name &" "& surname ออกมาก่อน โดยใช้ excel ทำเสร็จก็นำเข้าตารางเข้ามา เมื่อได้ตารางที่ ก็ส่งให้ แผนกเขาตรวจสอบ แต่เมื่อกลับมา ตารางเหมือนกันทำวิธีเดียวกันแปีะ แต่เมื่อเชื่อมความสัมพันธ์แล้ว กลับออกมาไม่ครบ ทั้งที่บ้างคนที่ ชื่อ นามสกุล ผมสะกดเหมือนกันทุกตัว เว้นเคาะก็ 1 เคาะเหมือนกันทุกตัว โปรแกรมก็ไม่ออก ซึ่งถ้ามัน error จริง มันก็ควรไม่ออกทั้งหมด แต่ออกบ้างคนเท่านั้น  จึงขอวิทยาทานจากผู้รู้ ว่า access จับคู่ตัวอักษร หรือ text ไม่ดีใช่ไหมครับ เพราะเคยเจอแบบนี้มาก่อน ต้องไปไล่ที่ละคนและก๊อบข้อความจากตารางที่ 1 มาวางตารางที่ 2 มันถึงนะรันรายชื่อจนครบ หรือว่าเราใช้โปรแกรมผิดวัตถุประสงค์ครับ เอาไปจับคู่ text 
« แก้ไขครั้งสุดท้าย: 24 ส.ค. 63 , 20:09:33 โดย nikorn »

 

25 ส.ค. 63 , 07:17:21
ตอบกลับ #1

nikorn

  • สมาชิกไท.Access
  • กระทู้: 12

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

ขอประทานอภัยท่ายอาจารย์และสมชิกทุกท่านผมเจอ error แล้วครับ เป็นเพราะเวลาผมเชื่อมข้อความใน excel โดยใช้วิธี เอาชื่อ รวมกับ นามสกุลโดยใช้สูตร Name & ""& surname มันมีบางชื่อ หรือ นามสกุล ในบาง field ที่ user กรอก นามสกุล เขาเว้นวรรคไว้ และเวลาเราจัดข้อความใช้ชิดซ้ายหรือชิดขวา มันก็มาชิดจริงครับ (มองเห็นว่าชิด) แต่เวลาเราไปดูจริง โดยเอาเมาท์ไปคลิกตรงช่องมัน แล้วดูตรงช่องแท๊ปใกล้กับแถบสูตร excel มันเว้นไปหลายเคาะเลย ทั้งที่มองดูว่าชิดนะครับ สรุปคือเวลาผมใส่สูตร คนที่ไม่เว้นเคาะเลยพบทุกคนแต่ คนที่ผมบอกว่าทำไมระบบไม่พบเพราะว่า มันเว้นเคาะจากการเชื่อมข้อความตั้งแต่ต้นไงครับ ผมไปเจอโดยลองไป ก๊อปข้อความจาก field จาก table access แล้วกด ctrl+f ค้นหาแล้วเอาไปวางในช่องค้นหา ข้อความมันคลายออกมาเว้นเคาะหลายเคาะเลยไม่เหมือนที่เราเห็นว่าเว้นเคาะเดียว แสดงว่ามันผิดมาตั้งแต่แรกเลย ลองกลับไปดูใน excel ก็จริงครับ คนที่ค้นพบมันจะเว้นเคาะปกติ เวลาเราไปลองดูไฟล์ต้นฉบับมันก็ชิดปกติ (ค้นที่พบ) ค้นที่ไม่พบก็จะเป็นแบบที่ผมบอก ...เส้นผมบังภูเขาจริง จุดเล็กๆทีเรามองข้ามไป (มองดูชิดแต่จริงๆไม่ชิด)ต่อไปเวลาเชื่อมต้องตรวจดูดีดีหละไม่ปล่อยจุดเล็กนี้ไปอาจเจอข้อผิดพลาดได้ ขอบคุณครับที่เปิดช่องทางให้สอบถามขอบคุณครับ
 

 

25 ส.ค. 63 , 13:33:41
ตอบกลับ #2

PNR

ศึกษาการใช้ Trim ในการตัดช่องว่างครับตัวอย่างในลิ้งนี้

https://www.techonthenet.com/access/functions/string/trim.php link

หรือใส่ว่า
FULLNAME: Trim([Name]) & " " & Trim([Surname])
ที่ Column ชื่อ Fullname จะมีการตัดการเว้นวรรคที่เป็นส่วนเกินออกไปทั้ง 2 ฟิลล์ครับ
« แก้ไขครั้งสุดท้าย: 26 ส.ค. 63 , 08:19:29 โดย PNR »
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 
โพสต์นี้ได้รับคำขอบคุณจาก: nikorn


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