chatchut > 09-08-13, 05:29 PM
Minh Tiên > 09-08-13, 06:11 PM
Noname > 09-08-13, 06:12 PM
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)
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ố
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
Xuân Thanh > 11-08-13, 12:58 PM
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
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
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
Do While ASC(Mid(s,i,1)) <= ASC(0) and ASC(Mid(s,i,1)) >= ASC(9)
Xuân Thanh > 11-08-13, 03:46 PM
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
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.