การตัดเฉพาะประโยคที่ต้องการค่ะ
กระทู้เก่าบอร์ด อ.Yeadram

 5,312   2
URL.หัวข้อ / URL
การตัดเฉพาะประโยคที่ต้องการค่ะ

สมมติว่ามีข้อมูลในฟิลดิ์เป็นแบบนี้นะคะ
นิเทศศาสตร์ (การประชาสัมพันธ์)
การบริหาร (บริหารทรัพยากรมนุษย์)ฯลฯ
ต้องการข้อมูลออกเป็นสองส่วนค่ะคือ นิเทศศาสตร์ และ การประชาสัมพันธ์ หรือ การบริหาร และ บริหารทรัพยากรมนุษย์ ฯลฯ
ไม่ทราบว่าต้องใช้ฟังก์ชั่นไหนคะ
รบกวนอาจารย์หรือผู้รู้ช่วยมาตอบให้ด้วยนะคะ

2 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R01725
ถ้ารูปแบบของข้อมูล มันเหมือนกันทุกๆ เรคคอร์ด
เช่นอย่างที่ยกตัวอย่างมา
รูปแบบมันค่อนข้างตายตัว คือมีข้อมูลอยู่ 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 ก็จะได้ = "นิเทศศาสตร์"
2 @R01809
ขอบคุณนะคะที่ช่วยแนะนำ อย่างน้อยถึงจะไม่ได้ผลลัพท์แต่ก็ให้เป็นแนวทาง ซึ่งมันจะยากในส่วนที่ต้องตัดคำในวงเล็บซึ่งตอนนี้ดิฉันทำได้แล้วค่ะ ขอบคุณอีกครั้ง
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.4019s