กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
464 6
URL.หัวข้อ /
URL
ต้องการแยกชื่อ นามสกุลออกจากกัน
จากฐานข้อมูลเดิมผมได้ทำฟิลด์ให้ชื่อและนามสกุล อยู่ในฟิลด์เดียวกัน
โดยช่องว่างระหว่างชื่อและนามสกุล เว้นไว้ หนึ่งเคาะ
ถ้าผมต้องการชื่อและนามสกุล แยกออกจากกัน ให้อยู่กันคนละฟิลด์
ไม่ทราบว่าต้องทำอย่างไรบ้างครับ
โดยช่องว่างระหว่างชื่อและนามสกุล เว้นไว้ หนึ่งเคาะ
ถ้าผมต้องการชื่อและนามสกุล แยกออกจากกัน ให้อยู่กันคนละฟิลด์
ไม่ทราบว่าต้องทำอย่างไรบ้างครับ
6 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R01515
ไม่ทราบว่าต้องการแยกไปใส่ในตารางเดียวกันหรือเปล่าครับ
หลักการ
การแยกชื่อให้ใช้ Instr() และ Left() เข้าช่วย
=Left([ชื่อฟีลด์เป้าหมาย],Instr([ชื่อฟีลด์เป้าหมาย]," ") -1)
แยกนามสกุล ให้ใช้ Mid() และ Instr() เข้าช่วย
=Mid([ชื่อฟีลด์เป้าหมาย],Instr([ชื่อฟีลด์เป้าหมาย]," ") +1)
สมมติว่าได้เพิ่มฟีลด์ชื่อ FirstName และ LastName ลงไปแล้ว
ตารางเป้าหมายชื่อ Table1
และฟีลด์ที่เก็บทั้งชื่อและนามสกุลคือ FullName
UPDATE Table1 SET Table1 .FirstName = Left(Trim([Table1].[FullName]),InStr(Trim([Table1].[FullName])," ")-1), Table1.LastName = Trim(Mid(Trim([Table1].[FullName]),InStr(Trim([Table1].[FullName])," ")+1));
2 @R01516
ต้องเขียนคำสั่งนี้ตรงไหนครับ
3 @R01517
ให้คัดลอกไปสร้างเป็น Query ซึ่งมันจะเป็น Update Query ครับ
ให้สร้าง Query ขึ้นมาใหม่โดยการคลิก New>ไม่ต้องเลือกตารางเป้าหมายใดๆ แล้วให้ไปที่เมนู View>SQL View> แล้วใส่โค้ดดังกล่าวลงไปครับ
4 @R01532
เมื่อวางคำสั่งไปแล้วพอกด Save จะขึ้น Error ว่า Syntax error in UPDATE statement ครับ
5 @R01533
อาจารย์ครับทำได้แล้วครับ ขอบคุณมาก
แต่ผมมีปัญหาเพิ่มอีกนิดนึงครับ
แล้วถ้าคนที่มีนามสกุลเป็น ชื่อ นามสกุล ณ อยุธยา จะทำอย่างไรครับ
6 @R01536
ก็ใช้ได้เหมือนกันครับ เช่น
? Mid("พ่อเลี้ยงบุญส่ง ณ ลำปาง",Instr("พ่อเลี้ยงบุญส่ง ณ ลำปาง"," ") +1)
ณ ลำปาง
Time: 0.1496s