กระทู้เก่าบอร์ด อ.Yeadram
5,312 2
URL.หัวข้อ /
URL
การตัดเฉพาะประโยคที่ต้องการค่ะ
สมมติว่ามีข้อมูลในฟิลดิ์เป็นแบบนี้นะคะ
นิเทศศาสตร์ (การประชาสัมพันธ์)
การบริหาร (บริหารทรัพยากรมนุษย์)ฯลฯ
ต้องการข้อมูลออกเป็นสองส่วนค่ะคือ นิเทศศาสตร์ และ การประชาสัมพันธ์ หรือ การบริหาร และ บริหารทรัพยากรมนุษย์ ฯลฯ
ไม่ทราบว่าต้องใช้ฟังก์ชั่นไหนคะ
รบกวนอาจารย์หรือผู้รู้ช่วยมาตอบให้ด้วยนะคะ
นิเทศศาสตร์ (การประชาสัมพันธ์)
การบริหาร (บริหารทรัพยากรมนุษย์)ฯลฯ
ต้องการข้อมูลออกเป็นสองส่วนค่ะคือ นิเทศศาสตร์ และ การประชาสัมพันธ์ หรือ การบริหาร และ บริหารทรัพยากรมนุษย์ ฯลฯ
ไม่ทราบว่าต้องใช้ฟังก์ชั่นไหนคะ
รบกวนอาจารย์หรือผู้รู้ช่วยมาตอบให้ด้วยนะคะ
2 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R01809
ขอบคุณนะคะที่ช่วยแนะนำ อย่างน้อยถึงจะไม่ได้ผลลัพท์แต่ก็ให้เป็นแนวทาง ซึ่งมันจะยากในส่วนที่ต้องตัดคำในวงเล็บซึ่งตอนนี้ดิฉันทำได้แล้วค่ะ ขอบคุณอีกครั้ง
Time: 0.4019s
เช่นอย่างที่ยกตัวอย่างมา
รูปแบบมันค่อนข้างตายตัว คือมีข้อมูลอยู่ 5 ส่วน
A - เว้นวรรค1เคาะ - วงเล็บเปิด - B - วงเล็บปิด
สิ่งที่คุณต้องการ คือ A และ B เท่านั้น ส่วนอื่นๆ คุณไม่ต้องการ เราก็ตัดทิ้ง
ทีนี้ สิ่งที่คุณไม่ได้บอกมาคือ คุณจะเอา A ไปไว้ไหน และ B ไปไว้ไหน
และงานทั้งหมดนี่ คุณทำในที่ไหน ใน คิวรี่ หรือใน ฟอร์ม , รายงาน
เพราะด้วยความเหมาะสมของงาน และประสิทธิภาพในการประมวลผลแล้ว ค่อนข้างจะใช้วิธีที่แตกต่างกัน แต่โดยหลักๆ มันคือการหยิบเอาฟังก์ชั่น ที่ access มีให้อยู่แล้ว เอามาใช้
Left([ข้อความทั้งหมด],[จำนวนอักขระนับจากซ้าย])
= คือการตัดเอาเฉพาะอักขระด้านหน้า ของข้อความทั้งหมด
Right([ข้อความทั้งหมด],[จำนวนอักขระนับจากขวา])
= คือการตัดเอาเฉพาะอักขระด้านหลัง ของข้อความทั้งหมด
Mid([ข้อความทั้งหมด],[จุดเริ่มต้น],[จำนวนอักขระนับจากจุดเริ่มต้น])
= คือการตัดเอาเฉพาะอักขระ ในส่วนที่ระบุ จากข้อความทั้งหมด
Instr([จุดเริ่มหา],[ข้อความทั้งหมด],[อักขระที่ต้องการหา])
= คือการหาตำแหน่งของอักขระที่ต้องการ ในข้อความทั้งหมด
ตัวอย่างการนำไปใช้
ผมต้องการว่า -เคาะเว้นวรรคแล้วตามด้วยวงเล็บเปิด- อยู่ตำแหน่งที่เท่าไหร่
s = "นิเทศศาสตร์ (การประชาสัมพันธ์)"
j = instr(1,s," (")
ผมก็จะได้ตำแหน่งมันแล้ว โดยเก็บไว้ในตัวแปรชื่อ j
ต่อไปผมจะตัดเอาคำข้างหน้าทั้งหมดจนถึงตำแหน่งดังกล่าว ผมก็ใช้ left()
A = left(s,j-1)
ผมก็จะได้มาแล้ว คำตอบโดยอยู่ในตัวแปรชื่อ A
ถ้าเอาสองฟังก์ชั่นนี้มาเขียนรวบ ก็จะได้ว่า
A = left("นิเทศศาสตร์ (การประชาสัมพันธ์)",instr(1,"นิเทศศาสตร์ (การประชาสัมพันธ์)"," ("))
ค่าของ A ก็จะได้ = "นิเทศศาสตร์"