Query - รบกวน อ.สุภาพ เรื่องวิธีการเลือก หรือตัด Digi ที่ต้องการ ใน Field หนึ่งๆ
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 336   2
URL.หัวข้อ / URL
Query - รบกวน อ.สุภาพ เรื่องวิธีการเลือก หรือตัด Digi ที่ต้องการ ใน Field หนึ่งๆ

คือผมทำ Query ที่ Field หนึ่ง ข้อมูลใน Field เช่น 
ชบ152/25-01 
ชบ152/25-02 
ชบ152/25-03 
ชบ1502/25-01 
ชบ1502/25-02 
... 
คือ ผมต้องการข้อมูลทุก Digi ยกเว้น 
1). ไม่เอา Digi 3 ตัวท้าย 
2). ไม่เอา Digi ที่เป็น ตัวอักษร 
3). ไม่เอา Digi ที่เป็น ตัวเลข 
4). ไม่เอา Digi ที่เป็น เครื่องหมาย + , - , * , / , เว้นวรรค และ อื่นๆ 
ผมลองแล้ว ไม่สามารถทำได้ รบกวน อ.สุภาพ แนะนำด้วยครับ 
ขอบพระคุณมากๆ ครับ 
Suchat 
 

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

1 @R00355
คงต้องใช้ Left(), Right(), Mid() เข้ามาช่วยครับ 1). ไม่เอา Digi 3 ตัวท้าย ? Left("ชบ152/25-01",len("ชบ152/25-01")-3) 2). ไม่เอา Digi ที่เป็น ตัวอักษร 3). ไม่เอา Digi ที่เป็น ตัวเลข 4). ไม่เอา Digi ที่เป็น เครื่องหมาย + , - , * , / , เว้นวรรค และ อื่นๆ ต้องใช้ Function เข้ามาช่วย ผมลองทำตัวนี้ขึ้นมา แต่ยังไม่ครอบคลุมทุกตัว ลองปรับปรุงใช้ดูครับ Function RemoveChar(strText As String, intType As Integer) As String Dim I As Integer, strTrim As String, strChar As String strTrim = strText If Len(strTrim) = 0 Then Exit Function End If strText = "" ' äÁèàÍÒ Digi ·Õèà»ç¹ à¤Ã×èͧËÁÒ - , / , àÇé¹ÇÃä If intType = 1 Then For I = 1 To Len(strTrim) strChar = Mid(strTrim, I, 1) ' Remove "/", " " and "-" from the string If Asc(strChar) <> 47 And Asc(strChar) <> 45 And Asc(strChar) <> 32 Then strText = strText & strChar 'Debug.Print strText End If Next I ' äÁèàÍÒ Digi ·Õèà»ç¹ µÑÇàÅ¢ ElseIf intType = 2 Then For I = 1 To Len(strTrim) strChar = Mid(strTrim, I, 1) ' Remove "/", " " and "-" from the string If Asc(strChar) > 57 Or Asc(strChar) < 48 Then strText = strText & strChar 'Debug.Print strText End If Next I ' äÁèàÍÒ Digi ·Õèà»ç¹ µÑÇÍÑ¡Éà ElseIf intType = 3 Then For I = 1 To Len(strTrim) strChar = Mid(strTrim, I, 1) ' Remove "/", " " and "-" from the string If (Asc(strChar) > 206 Or Asc(strChar) < 65) Then strText = strText & strChar 'Debug.Print strText End If Next I End If RemoveChar = strText End Function ? RemoveChar("ชบ152/25-01",3) 152/25-01 ªº/- ªº1522501 ถ้าไม่เอา Digi ที่เป็น ตัวอักษร ? RemoveChar("ชบ152/25-01",3) ไม่เอา Digi ที่เป็น ตัวเลข ? RemoveChar("ชบ152/25-01",2) ชบ/- และไม่เอา Digi ที่เป็น เครื่องหมาย - , / , เว้นวรรค ? RemoveChar("ชบ152/25-01",1) ชบ1522501 หลักการทำ ผมจะใช้ Asc() และ Chr() เข้ามาช่วยหาตัวอักษรหรือกลุ่มตัวอักษรที่ต้องการ เช่น ? asc("¡") 161 ? chr(66) B ลองปรับฟังก์ชั่นให้ครอบคลุมดูครับ ผมว่าถ้าทายดีมากเลย เช่น ไม่เอา *, +
2 @R00356
สำหรับคำตอบ ข้อที่ 1 ผมลองดูแล้วครับ ทำได้แล้วครับ ส่วนคำตอบ ข้อที่ 2-4 ผมจะลองดูครับ แล้วจะแจ้งให้ อ.สุภาพ ทราบอีกครั้ง ขอบพระคุณ อ.สุภาพ มากๆ นะครับ Suchat
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1158s