-
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:
Đơ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:(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ố
Mã PHP:Public Function GetString(s 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 String, sChuoiTach As String
sChuoi = Trim(strChuoi)
sChuoiTach = Space(0)
Dim i As Integer
For i = 1 To Len(sChuoi)
If IsNumeric(Mid(sChuoi, i, 1)) = False Then
sChuoiTach = sChuoiTach & Mid(sChuoi, i, 1)
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 String, sChuoiTach As String
sChuoi = Trim(strChuoi)
sChuoiTach = Space(0)
Dim i As Integer
For i = 1 To Len(sChuoi)
If IsNumeric(Mid(sChuoi, i, 1)) = False Then
sChuoiTach = sChuoiTach & Mid(sChuoi, i, 1)
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ả
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:
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 String, sChuoiTach As String
sChuoi = Trim(strChuoi)
sChuoiTach = Space(0)
Dim i As Integer
For i = 1 To Len(sChuoi)
If IsNumeric(Mid(sChuoi, i, 1)) = False Then
sChuoiTach = sChuoiTach & Mid(sChuoi, i, 1)
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 String, sChuoiTach As String
sChuoi = Trim(strChuoi)
sChuoiTach = Space(0)
Dim i As Integer
For i = 1 To Len(sChuoi)
If IsNumeric(Mid(sChuoi, i, 1)) = False Then
sChuoiTach = sChuoiTach & Mid(sChuoi, i, 1)
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
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
-
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 String, sChuoiTach As String
sChuoi = Trim(strChuoi)
sChuoiTach = Space(0)
Dim i As Integer
For i = 1 To Len(sChuoi)
If IsNumeric(Mid(sChuoi, i, 1)) = False Then
sChuoiTach = sChuoiTach & Mid(sChuoi, i, 1)
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 String, sChuoiTach As String
sChuoi = Trim(strChuoi)
sChuoiTach = Space(0)
Dim i As Integer
For i = 1 To Len(sChuoi)
If IsNumeric(Mid(sChuoi, i, 1)) = False Then
sChuoiTach = sChuoiTach & Mid(sChuoi, i, 1)
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