Public Function Split(Ten As String, Kieu As Byte)
Dim bytSpace As Byte
bytSpace = InStrRev(Ten, " ", -1)
If bytSpace = 0 Then
Split = Ten
Exit Function
End If
If Kieu = 0 Then
Split = Right(Ten, Len(Ten) - bytSpace)
Else
Split = Left(Ten, bytSpace - 1)
End If
End Function
Giải thích :
Public Function Split(Ten As String, Kieu As Byte) : Ten ở đây là chuỗi bạn muốn cắt, Kieu ở đây là kiểu cắt của bạn : 0 là tách tên, khác 0 là tách họ
bytSpace dùng để lấy khoảng trắng cuối cùng của chuỗi.
Ví dụ : Table tblDanhSach có field Name. Dữ liệu :
Thiên Mỹ Sao Băng
Huỳnh Thu Nhạn
Bạn tạo Query mới với Table này và gõ vào công thức : Split(Name,0) 'Kết quả là
Băng
Nhạn
Còn nếu bạn gõ Split(Name,1) 'Có thể thay số 1 bằng bất cứ số nào từ 1 đến 255. Kết quả
Thiên Mỹ Sao
Huỳnh Thu
Để đơn giản hơn bạn có thể tách ra làm 2 hàm khác nhau
Public Function TachTen(Ten As String) As String
Dim bytSpace As Byte
bytSpace = InStrRev(Ten, " ", -1)
TachTen = Right(Ten, Len(Ten) - bytSpace )
End Function
Public Function TachHo(Ten As String) As String
Dim bytSpace As Byte
bytSpace = InStrRev(Ten, " ", -1)
If bytSpace =0 then
TachHo = Ten
Exit Function
End If
TachHo = Left(Ten, bytSpace )
End Function
và dùng hàm TachTen khi cần tách tên, TachHo khi cần tách họ
Ví dụ : TachTen("Lê Minh Tiến") ---> Tiến
TachHo("Lê Minh Tiến") ---> Lê Minh
Các bạn ơi cho mình hỏi cách tắt hẳn thông báo : the existing table "tên bảng" will be deleted before you run the query
You dùng hàm Datediff("date",NgayA,ngayB) --> Số ngàyNgại quá lại phải nhờ tới mọi người roài!
Mình tạo queries có 2 trường: thời gian (tháng), thời gian bắt đầu lấy từ 1 bảng đã có sẵn
Muốn thêm các trường thời gian kết thúc và thời gian còn lại mà không biết làm
-> thời gian kết thúc được suy ra từ thời gian bắt đầu + thời gian.
-> thời gian còn lại (ngày) được suy ra từ date() - thời gian kết thúc
VD: thời gian: 3 tháng
Thời gian bắt đầu: 12/10/2008
-> Thời gian kết thúc: 12/01/2009
date() = 12/12/2008
-> Thời gian còn lại : 30 ngày
Thanks
Hàm datediff ("d",ngaydau,ngaycuoi)--> số ngày giữa 2 ngày đầu và cuối. Chú ý định dạng ngaydau và ngaycuoi là kiểu date. Nếu chưa định dạng thì thêm hàm định dạng ngày vào trước ngaydau và ngaycuoi cho chắc chắn.Hàm dateadd thì mình biết rồi nhưng kết quả ra không đúng có lẽ do mình định dạng ngày sai.
Nhưng hàm datediff("d",thoigiancuoi,thoigiandau) thì không được không ra số ngày cần tính, mà không biết nó tính kiểu gì nữa
Mình thấy hàm vô hiệu hoá phím Shift này trên mạng nhưng không hiểu cách làm như thế nào? Mong chỉ dẫn
Trong file dữ liệu cua Access có một thuộc tính (Property) đặc biệt là AllowbypassKey. Khi đặt thuộc tính này là False, việc nhấn phím shift khi khởi động sẽ không còn tác dụng nữa
Thuộc tính này không thể hịên trên cửa sổ ******* Properties và chỉ có thể thay đổi bằng code mà thôi
-----------------------------------------------------------------------------
Call ChangeProperty "AllowBypassKey", dbBoolean, False
Function ChangeProperty(strPropName As String, _
varPropType As Variant, _
varPropValue As Variant) As Integer
' Purpose : Change Database Properties
' Created : 23 March 00
Dim dbs As Database, prp As Property
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
ChangeProperty = False
Resume Change_Bye
End If
End Function