Kiểm tra ngày cuối cùng trong tháng (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

mrsiro88

Thành viên mới
Tham gia
19/9/14
Bài viết
17
Được thích
0
Mình có 1 form tìm kiếm như sau : có 2 txtbox tungay và denngay, có subfom ở dưới.

Khi mình nhập vào tungay : 30/11/2014, denngay: 01/12/2014, subfom ra dữ liệu của những ngày này.
Nhưng khi mình nhập tungay:31/11/2014, denngay:01/12/2014 thì lỗi ko ra dữ liệu.
Mình có tìm hiểu lỗi là do tháng 11/2014 ko có ngày 31 nên lỗi.
Vì thế có giải pháp nào để kiểm tra ngày cuối cùng trong tháng đó, nêu người dùng nhập vào ngày cuối ko đúng thì sẽ msgbox cảnh báo không có ngày này trong tháng.
 
Mình có 1 form tìm kiếm như sau : có 2 txtbox tungay và denngay, có subfom ở dưới.

Khi mình nhập vào tungay : 30/11/2014, denngay: 01/12/2014, subfom ra dữ liệu của những ngày này.
Nhưng khi mình nhập tungay:31/11/2014, denngay:01/12/2014 thì lỗi ko ra dữ liệu.
Mình có tìm hiểu lỗi là do tháng 11/2014 ko có ngày 31 nên lỗi.
Vì thế có giải pháp nào để kiểm tra ngày cuối cùng trong tháng đó, nêu người dùng nhập vào ngày cuối ko đúng thì sẽ msgbox cảnh báo không có ngày này trong tháng.

Giải pháp là đừng nhập bằng tay mà chọn ngày tháng từ một Calendar, quá đơn giản. Và như vậy thì ta chỉ bẫy có 1 lỗi duy nhất: tungay phải <= denngay
Vậy thôi!
 
ko có hàm hay code nào có thể check việc này hả anh. Form của em cũng có calendar rồi, và em cũng có ý là cho nhập bằng calendar thôi, nhưng như thế thì thao tác hơi chậm vì người dùng phải tìm đúng tháng đúng năm trên calendar, rất mất thời gian. Vì thế em muốn vừa nhập tay vừa chon calendar tùy thích, nhưng nhập tay thì bị vấn đề như em đề cập
 
ko có hàm hay code nào có thể check việc này hả anh. Form của em cũng có calendar rồi, và em cũng có ý là cho nhập bằng calendar thôi, nhưng như thế thì thao tác hơi chậm vì người dùng phải tìm đúng tháng đúng năm trên calendar, rất mất thời gian. Vì thế em muốn vừa nhập tay vừa chon calendar tùy thích, nhưng nhập tay thì bị vấn đề như em đề cập

Kiểm tra = hàm IsDate, nếu trả giá trị false thì bắt phải nhập lại.
 
thanks anh hai lúa miền tây.
Anh có thể cho em hỏi thêm cái nữa dc ko ạ. Giờ em muốn khi nhập sai ngày như thế không hiện lên msgbox cảnh báo nữa, mà value trong ô txtbox tự động trở về ngày cuối cùng của tháng đó thì như thế nào ạ.
 
thanks anh hai lúa miền tây.
Anh có thể cho em hỏi thêm cái nữa dc ko ạ. Giờ em muốn khi nhập sai ngày như thế không hiện lên msgbox cảnh báo nữa, mà value trong ô txtbox tự động trở về ngày cuối cùng của tháng đó thì như thế nào ạ.
Tháng đó là tháng nào? nhập ngày không đúng chuẩn thì biết tháng nào để lấy? Tôi chỉ ví dụ lấy ngày cuối cùng của tháng hiện hành trong máy tính thôi nhé. Còn việc thay đổi như thế nào cho phù hợp với yêu cầu của bạn thì bạn tự làm.

Mã:
Private Sub Command0_Click()
    If IsDate(Text1.Value) = False Then
        MsgBox "Nhap ngay sai"
        Text1 = DateSerial(Year(Now()), Month(Now() + 1), 0)
    End If
End Sub
 
ok rồi anh hai lúa, code chạy ngon rôi.
Cho em làm phiền anh thêm cái nữa nhé.
Với 2 txtbox như trên, inputmask = 00/00/0000;0;_ ,format để trống không định dạng.
Sự kiện after update 2txtbox code như sau :


If Me.tungay > Me.denngay Then
Me.tungay = Me.denngay
Me.Command37.SetFocus
msgbox "ngay bat dau khong the nho hon ngay ket thuc"
End If

Thì khi em nhập : tungay = 05/12/2014, denngay= 04/12/2014 thì hiện msgbox (đúng ý đồ)
Nhưng khi em nhập: tungay = 30/11/2014, denngay = 01/12/2014 thì nó vẫn hiện lên msgbox (trường hợp này tungay rõ ràng nhỏ hơn denngay)
Thế này nghĩa là sao vậy anh
 
Web KT

Bài viết mới nhất

Back
Top Bottom