กระทู้เก่าบอร์ด อ.Yeadram
        
           2,854   5		  
          
					  
		    URL.หัวข้อ / 
		    URL
        
        การตัดคำในข้อความ      
    
      ตัวอย่าง
Field_1
ABC1234
D456789
EFGH12
4567
ต้องการให้มีการตัดคำเป็น 2 Field ดังนี้
Field_1 Field_2
ABC 1234
D 456789
EFGH 12
4567
ต้องทำยังไงครับ
ขอบคุณครับ
    
    
  Field_1
ABC1234
D456789
EFGH12
4567
ต้องการให้มีการตัดคำเป็น 2 Field ดังนี้
Field_1 Field_2
ABC 1234
D 456789
EFGH 12
4567
ต้องทำยังไงครับ
ขอบคุณครับ
				5 Reply in this Topic. Dispaly 1  pages and you are on page number 1 
				
        
    2 @R08767    
        
  
      เรียน คุณ yeadram ผมลองทำในคิวรีีแล้วผลที่ได้
Field_1 test : IsNumeric([field_1])
ABC1234 0
D456789 0
EFGH12 0
4567 -1
ไม่ทราบผมทำผิดตรงส่วนไหน ต้องแก้ไขอย่างไรครับ
ขอบคุณครับ
    
  Field_1 test : IsNumeric([field_1])
ABC1234 0
D456789 0
EFGH12 0
4567 -1
ไม่ทราบผมทำผิดตรงส่วนไหน ต้องแก้ไขอย่างไรครับ
ขอบคุณครับ
        
    3 @R08770    
        
  
      ลองดูอันนี้ครับ ผมลองแล้วได้  
Function Split(Val1 As String)
Dim Chk As String, ChkTxt As String, ChkNum As String
ChkTxt = ""
ChkNum = ""
For i = 1 To Len(Val1) - 1
Chk = Mid(Val1, i, 1)
If IsNumeric(Chk) Then
'µÑÇàÅ¢
ChkNum = ChkNum & Chk
Else
If Len(Trim(Chk)) > 0 Then ChkTxt = ChkTxt & Chk
End If
Next
MsgBox "Text = " & ChkTxt & vbCrLf & "Num = " & ChkNum
End Function
    
   
Function Split(Val1 As String)
Dim Chk As String, ChkTxt As String, ChkNum As String
ChkTxt = ""
ChkNum = ""
For i = 1 To Len(Val1) - 1
Chk = Mid(Val1, i, 1)
If IsNumeric(Chk) Then
'µÑÇàÅ¢
ChkNum = ChkNum & Chk
Else
If Len(Trim(Chk)) > 0 Then ChkTxt = ChkTxt & Chk
End If
Next
MsgBox "Text = " & ChkTxt & vbCrLf & "Num = " & ChkNum
End Function
        
    4 @R08771    
        
  
      ไม่ทราบ Function ดังกล่าวต้องนำไปวางที่ไหนครับ
    
    
  
        
    5 @R08772    
        
    
      ใน vba ครับ (กด alt+f11)    
    
  
      Time: 0.7006s
    
      
		
- ต้องการแยกตัวอักษร ออกจากตัวเลข
- ถ้าสายอักขระใด มีตัวอักษรอยู่ พวกมันจะอยู่ด้านหน้าเสมอ
- กลุ่มตัวอักษรจะอยู่ติดกันเสมอ ในระหว่างพวกมันจะไม่มี ตัวเลขมาแทรกคั่น
- กลุ่มตัวเลขก็เช่นกัน ถ้ามีหลายตัว พวกมันจะอยู่ติดกันเสมอ ไม่มีตัวอักษรมาแทรกคั่น
- กลุ่มตัวเลขจะอยู่ทางด้านหลังเสมอ หลังกลุ่มตัวเลข จะไม่มีตัวอักษรใดๆ อีกเลย
งั้นก็ต้องสร้างเป็นฟังก์ชั่นขึ้นมาเอง แล้วเรียกใช้ผ่านคิวรี่
ลักษณะลำดับการทำงานของฟังก์ชั่นก็คือ
- วนลูปตั้งแต่ตัวอักขระตัวแรกไปจนตัวสุดท้าย
- เพื่อดูว่า ตัวอักขระตำแหน่งใดเป็นตัวเลข Isnumeric()
- เมื่อได้ตำแหน่งมาแล้วก็ค่อยมาแยกสายอักขระออกจากกัน โดย
ถ้าอยากได้ชุดหน้า ให้ใช้ left(... , ตำแหน่งที่หาได้ ลบด้วย 1)
ถ้าอยากได้ชุดหลังให้ใช้ mid(... , ตำแหน่งที่หาได้)