• Hàm cắt chuỗi trong access
  • Hàm cắt chuỗi trong access

    chatchut > 09-08-13, 05:29 PM

    Chào Các Anh Chị
    Cho em hỏi trong access có hàm cắt chuỗi không?
    Vd: em lọc ra chuỗi ABC0809AM
    nhưng em chỉ cần ABC và bỏ 0809AM
    Anh chị giúp em với.
  • RE: Hàm cắt chuỗi trong access

    Minh Tiên > 09-08-13, 06:11 PM

    Bạn gõ: =left(Tenchuoi,3) là OK.
    Trong đó: Tenchuoi là: ABC0809AM của bạn.
    Thân chào !
  • RE: Hàm cắt chuỗi trong access

    Noname > 09-08-13, 06:12 PM

    Tương tự Excel, Access có hỗ trợ các hàm:
    Left(Chuỗi, số ký tự cần cắt)
    Right(Chuỗi, số ký tự cần cắt)
    Mid(chuỗi, vị trí bắt đầu, số ký tự cắt kể từ vị trí)

    Ví dụ trên bạn dùng left("ABC0809AM",3)
  • RE: Hàm cắt chuỗi trong access

    chatchut > 09-08-13, 07:20 PM

    (09-08-13, 06:12 PM)Noname Đã viết: Tương tự Excel, Access có hỗ trợ các hàm:
    Left(Chuỗi, số ký tự cần cắt)
    Right(Chuỗi, số ký tự cần cắt)
    Mid(chuỗi, vị trí bắt đầu, số ký tự cắt kể từ vị trí)

    Ví dụ trên bạn dùng left("ABC0809AM",3)

    Không phải đơn giản vây đâu anh chị ơi. Do em nhầm xíu
    vd: ABC0809AM = ABC
    CDEFG0909PM = CDEFG
    em chỉ lấy dãy chuỗi nhất định thôi, chẳng hạn như trước dãy số
  • RE: Hàm cắt chuỗi trong access

    trav2t > 10-08-13, 11:32 PM

    (09-08-13, 07:20 PM)chatchut Đã viết:
    (09-08-13, 06:12 PM)Noname Đã viết: Tương tự Excel, Access có hỗ trợ các hàm:
    Left(Chuỗi, số ký tự cần cắt)
    Right(Chuỗi, số ký tự cần cắt)
    Mid(chuỗi, vị trí bắt đầu, số ký tự cắt kể từ vị trí)

    Ví dụ trên bạn dùng left("ABC0809AM",3)

    Không phải đơn giản vây đâu anh chị ơi. Do em nhầm xíu
    vd: ABC0809AM = ABC
    CDEFG0909PM = CDEFG
    em chỉ lấy dãy chuỗi nhất định thôi, chẳng hạn như trước dãy số
    Đơn giản mà bạn. Ý bạn muốn là cắt các chữ cái đầu tiên đến vị trí số thì dừng lại đúng không. bạn viết một cái hàm như sau:
    Mã PHP:
    Public Function GetString(as String) As String
    Dim i 
    As Byte
    Dim st 
    As String
    st
    =""
    i=1
    s
    =s+"0"
    'Số 0 nhé, không phải chữ O. Cái này dùng để chắc chắn rằng chuỗi của bạn có số
    Do While ASC(Mid(s,i,1)) <= ASC(0) and ASC(Mid(s,i,1)) >= ASC(9)
         st = st + Mid(s,i,1)
         i= i + 1
    Loop
    GetString = st
    End Function 
  • RE: Hàm cắt chuỗi trong access

    Xuân Thanh > 11-08-13, 12:58 PM

    1/ Hàm của bạn trav2t tôi test thử không cho kết quả
    2/ Nếu như bạn chỉ tách lấy những chữ cái đầu đến khi gặp số thì dừng lại, tôi xin tặng bạn hàm tự tạo sau :

    Mã PHP:
    Function TachChuoi(strChuoi As String) As String
        Dim sChuoi 
    As StringsChuoiTach As String
        sChuoi 
    Trim(strChuoi)
        
    sChuoiTach Space(0)
        
    Dim i As Integer
        
    For 1 To Len(sChuoi)
            If 
    IsNumeric(Mid(sChuoii1)) = False Then
                sChuoiTach 
    sChuoiTach Mid(sChuoii1)
            Else
                Exit For            
            
    End If
        
    Next
        TachChuoi 
    sChuoiTach
    End 
    Function 

    Khi đó TachChuoi("ABCD567HG") = ABCD

    3/ Nếu muốn lấy toàn bộ chữ cái trong chuỗi thì sửa lại hàm trên như sau:

    Mã PHP:
    Function TachChuoi(strChuoi As String) As String
        Dim sChuoi 
    As StringsChuoiTach As String
        sChuoi 
    Trim(strChuoi)
        
    sChuoiTach Space(0)
        
    Dim i As Integer
        
    For 1 To Len(sChuoi)
            If 
    IsNumeric(Mid(sChuoii1)) = False Then
                sChuoiTach 
    sChuoiTach Mid(sChuoii1)
            Else           
                
    sChuoiTach sChuoiTach Space(0)
            
    End If
        
    Next
        TachChuoi 
    sChuoiTach
    End 
    Function 

    Khi đó TachChuoi("ABCD567HG") = ABCDHG

    Các bạn vận dụng để tách lấy số trong chuỗi
    Thân mến
  • RE: Hàm cắt chuỗi trong access

    trav2t > 11-08-13, 01:32 PM

    (11-08-13, 12:58 PM)Xuân Thanh Đã viết: 1/ Hàm của bạn trav2t tôi test thử không cho kết quả
    2/ Nếu như bạn chỉ tách lấy những chữ cái đầu đến khi gặp số thì dừng lại, tôi xin tặng bạn hàm tự tạo sau :

    Mã PHP:
    Function TachChuoi(strChuoi As String) As String
        Dim sChuoi 
    As StringsChuoiTach As String
        sChuoi 
    Trim(strChuoi)
        
    sChuoiTach Space(0)
        
    Dim i As Integer
        
    For 1 To Len(sChuoi)
            If 
    IsNumeric(Mid(sChuoii1)) = False Then
                sChuoiTach 
    sChuoiTach Mid(sChuoii1)
            Else
                Exit For            
            
    End If
        
    Next
        TachChuoi 
    sChuoiTach
    End 
    Function 

    Khi đó TachChuoi("ABCD567HG") = ABCD

    3/ Nếu muốn lấy toàn bộ chữ cái trong chuỗi thì sửa lại hàm trên như sau:

    Mã PHP:
    Function TachChuoi(strChuoi As String) As String
        Dim sChuoi 
    As StringsChuoiTach As String
        sChuoi 
    Trim(strChuoi)
        
    sChuoiTach Space(0)
        
    Dim i As Integer
        
    For 1 To Len(sChuoi)
            If 
    IsNumeric(Mid(sChuoii1)) = False Then
                sChuoiTach 
    sChuoiTach Mid(sChuoii1)
            Else           
                
    sChuoiTach sChuoiTach Space(0)
            
    End If
        
    Next
        TachChuoi 
    sChuoiTach
    End 
    Function 

    Khi đó TachChuoi("ABCD567HG") = ABCDHG

    Các bạn vận dụng để tách lấy số trong chuỗi
    Thân mến
    Xin lỗi hàm của mình nhầm 01 chỗ. Chính xác thì thay đổi dong Do While như sau:
    Mã PHP:
    Do While ASC(Mid(s,i,1)) <= ASC(0) and ASC(Mid(s,i,1)) >= ASC(9
  • RE: Hàm cắt chuỗi trong access

    Xuân Thanh > 11-08-13, 03:46 PM

    (11-08-13, 01:32 PM)trav2t Đã viết: Xin lỗi hàm của mình nhầm 01 chỗ. Chính xác thì thay đổi dong Do While như sau:
    Mã PHP:
    Do While ASC(Mid(s,i,1)) <= ASC(0) and ASC(Mid(s,i,1)) >= ASC(9

    Ý tôi nói là bạn xem lại cái hàm Asc nhé
    Thân

    P/S : Asc(String As String) As Integer
  • RE: Hàm cắt chuỗi trong access

    tvn_hut > 11-06-21, 11:59 AM

    (11-08-13, 12:58 PM)Xuân Thanh Đã viết: 1/ Hàm của bạn trav2t tôi test thử không cho kết quả
    2/ Nếu như bạn chỉ tách lấy những chữ cái đầu đến khi gặp số thì dừng lại, tôi xin tặng bạn hàm tự tạo sau :

    Mã PHP:
    Function TachChuoi(strChuoi As String) As String
        Dim sChuoi 
    As StringsChuoiTach As String
        sChuoi 
    Trim(strChuoi)
        sChuoiTach Space(0)
        Dim i As Integer
        
    For 1 To Len(sChuoi)
            If IsNumeric(Mid(sChuoii1)) = False Then
                sChuoiTach 
    sChuoiTach Mid(sChuoii1)
            Else
                Exit For            
            End 
    If
        Next
        TachChuoi 
    sChuoiTach
    End 
    Function 

    Khi đó TachChuoi("ABCD567HG") = ABCD

    3/ Nếu muốn lấy toàn bộ chữ cái trong chuỗi thì sửa lại hàm trên như sau:

    Mã PHP:
    Function TachChuoi(strChuoi As String) As String
        Dim sChuoi 
    As StringsChuoiTach As String
        sChuoi 
    Trim(strChuoi)
        sChuoiTach Space(0)
        Dim i As Integer
        
    For 1 To Len(sChuoi)
            If IsNumeric(Mid(sChuoii1)) = False Then
                sChuoiTach 
    sChuoiTach Mid(sChuoii1)
            Else          
                sChuoiTach 
    sChuoiTach Space(0)
            End If
        Next
        TachChuoi 
    sChuoiTach
    End 
    Function 

    Khi đó TachChuoi("ABCD567HG") = ABCDHG

    Các bạn vận dụng để tách lấy số trong chuỗi
    Thân mến

    Cho mình hỏi nếu chỉ lấy số trong chuối bao gồm cả chữ thì mình viết hàm như nào. Ví dụ ("ABCD567HG") = 567. 
  • RE: Hàm cắt chuỗi trong access

    Xuân Thanh > 11-06-21, 12:37 PM

    (11-06-21, 11:59 AM)tvn_hut Đã viết: Cho mình hỏi nếu chỉ lấy số trong chuối bao gồm cả chữ thì mình viết hàm như nào. Ví dụ ("ABCD567HG") = 567. 

    Tham khảo ở đây : https://thuthuataccess.com/forum/thread-7019.html