luonguct > 08-06-16, 02:43 PM
SELECT tblNKTC.NgayTC, tblNKTC.Noidung, IsHoliday([tblNKTC].NgayTC) AS NgayLe FROM tblNKTC;
Public Function IsHoliday(CheckDate As Date) As Boolean
Dim db As Database
Dim rs As DAO.Recordset
Dim SQL As String, R As Boolean, SQL2 As String
Set db = CurrentDb()
SQL = "SELECT tblHoliday.FromDate, tblHoliday.ToDate FROM tblHoliday WHERE (((tblHoliday.FromDate)<=#" & CheckDate & "#) AND ((tblHoliday.ToDate)>=#" & CheckDate & "#));"
Set rs = db.OpenRecordset(SQL)
If rs.EOF = False Then R = True
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
IsHoliday = R
End Function
BaThanh96 > 08-06-16, 06:21 PM
luonguct > 09-06-16, 11:57 AM
(08-06-16, 06:21 PM)BaThanh96 Đã viết: Chắc do Date and Time của Windows của bạn để theo định dạng dd/mm/yyyy (Region seting Vietnam hoặc French). Bạn thử chuyển lại sang định dạng English (United State) xem (m/d/yyyy). Hy vọng giải quyết được vấn đề.
ongke0711 > 09-06-16, 12:12 PM
luonguct > 09-06-16, 12:18 PM
(09-06-16, 12:12 PM)ongke0711 Đã viết: Bạn dùng Format ([CheckDate],"mm/dd/yyyy") thử xem. Ngày tháng trong VBA hay gặp lỗi này.
maidinhdan > 09-06-16, 06:24 PM
(09-06-16, 12:18 PM)luonguct Đã viết: Mình đã giải quyết được rồi. Trong VBA của Access ngày nó nhảy tùm lum khi cả tháng và ngày <=12. Khắc phục bằng cách chuyển ngày thành số nguyên sồ truy vấn bình thường. Đơn giản vậy mà đã mò mẫm cả tuần nay luôn đó.