กระทู้เก่าบอร์ด อ.Yeadram
1,104 3
URL.หัวข้อ /
URL
สอบถามเรื่องการแบ่งคำหน่อยครับ
ผมสร้างกล่องไว้ 1 กล่อง เพื่อที่จะเอาไว้ใช้คีย์ข้อมูลเพื่อทำการค้นหา
ตอนนี้ที่ผมทำคือสามารถค้นหาได้เพียงแค่ ประโยคเดียวไม่สามารถเว้นวรรคได้
แต่ทาง user ที่ออฟฟิสต้องการให้เป็นเหมือนแบบตอนค้นหาใน google search
โดยแยกออกเป็นคำๆได้โดยแบ่งตามคำที่เว้นวรรค
ตอนนี้ที่ผมทำคือสามารถค้นหาได้เพียงแค่ ประโยคเดียวไม่สามารถเว้นวรรคได้
แต่ทาง user ที่ออฟฟิสต้องการให้เป็นเหมือนแบบตอนค้นหาใน google search
โดยแยกออกเป็นคำๆได้โดยแบ่งตามคำที่เว้นวรรค
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R16360
คือหมายถึงบนฟอร์ม เมื่อใส่คำใน Textbox สำหรับรับคำที่ต้องการกรอง เช่น
A B ก็หมายถึงให้แสดงเรคคอร์ดที่มีอักษร A หรือ B อยู่ในฟิลด์นั้นใช่หรือเปล่าครับ หากใช่ ลองดูตัวอย่างนี้นะครับ
ตารางชื่อ Table1
----------
aName
----------
A
B
C
C
E
-----------
สร้างฟอร์มขึ้นมาโดยดึงข้อมูลจาก Table1
Textbox สำหรับค้นหาคำชื่อ Text1
ใส่โค๊ดในเหตุการณ์ดังนี้:
ประมาณนี้ครับ
- หลักการณ์ก็คือหากมีวรรคใน Text1 ก็ให้เปลี่ยนเป็นเงื่อนไข OR *คำหลังวรรค*
- สมมุติจากคำที่คีย์เป็น A B C ก็จะกลายเป็นคำสั่ง
"Table1.aName Like '*A*' OR Table1.aName Like '*B*' OR Table1.aName Like '*C*'"
แทนที่จะเป็น
"Table1.aName Like '*A B C*'"
ปรับใช้ดูครับ
A B ก็หมายถึงให้แสดงเรคคอร์ดที่มีอักษร A หรือ B อยู่ในฟิลด์นั้นใช่หรือเปล่าครับ หากใช่ ลองดูตัวอย่างนี้นะครับ
ตารางชื่อ Table1
----------
aName
----------
A
B
C
C
E
-----------
สร้างฟอร์มขึ้นมาโดยดึงข้อมูลจาก Table1
Textbox สำหรับค้นหาคำชื่อ Text1
ใส่โค๊ดในเหตุการณ์ดังนี้:
If Me.Text1 & "" = "" Then
Me.Filter = ""
Me.FilterOn = False
Else
Dim NControl As String, TTT As String
NControl = "Table1.aName Like '*"
TTT = Me.Text1
If Me.Text1 Like "* *" Then
TTT = Replace(TTT, " ", "*' OR " & NControl)
End If
Me.Filter = NControl & TTT & "*'"
Me.FilterOn = True
End If
ประมาณนี้ครับ
- หลักการณ์ก็คือหากมีวรรคใน Text1 ก็ให้เปลี่ยนเป็นเงื่อนไข OR *คำหลังวรรค*
- สมมุติจากคำที่คีย์เป็น A B C ก็จะกลายเป็นคำสั่ง
"Table1.aName Like '*A*' OR Table1.aName Like '*B*' OR Table1.aName Like '*C*'"
แทนที่จะเป็น
"Table1.aName Like '*A B C*'"
ปรับใช้ดูครับ
3 @R16364
ขอบคุณมากๆเลยครับ
Time: 0.2580s
ควรแสดงคำสั่งที่ใช้มาด้วยครับจะได้ตอบได้ตรงจุด