huuduy.duy > 03-07-13, 10:42 AM
bomnhauag > 03-07-13, 12:41 PM
(03-07-13, 10:42 AM)huuduy.duy Đã viết: Em có bảng như thế này rất mong được các anh / chị giúp đỡ
1/ Nếu nhập trên Form số ngày nghỉ và ngày bắt đầu thì ngày kết thúc tự tính kết quả
Ví dụ:
Số ngày nghỉ = 4
Ngày bắt đầu = 03/07/2013
Ngày két thúc = 06/07/2013 ( Là công thức tự tính)
2/ Nếu không nhập số ngày nghỉ, chỉ nhập ngày bắt đầu và ngày kết thúc thì số ngày nghỉ sẽ tự tính kết quả
VD:
Số ngày nghỉ = ...... (Không nhâp, công thức sẽ tự tính kết quả = ngày kết thúc - ngày bắt đầu)
Ngày bắt đầu = 03/07/2013
Ngày két thúc = 06/07/2013
Trân trọng cảm ơn!
NgayKetThuc = DateAdd("d", NgayNghi, NgayBatDau)
NgayNghi = DateDiff("d", NgayKetThuc, NgayBatDau)
huuduy.duy > 03-07-13, 03:31 PM
(03-07-13, 12:41 PM)bomnhauag Đã viết:(03-07-13, 10:42 AM)huuduy.duy Đã viết: Em có bảng như thế này rất mong được các anh / chị giúp đỡ
1/ Nếu nhập trên Form số ngày nghỉ và ngày bắt đầu thì ngày kết thúc tự tính kết quả
Ví dụ:
Số ngày nghỉ = 4
Ngày bắt đầu = 03/07/2013
Ngày két thúc = 06/07/2013 ( Là công thức tự tính)
2/ Nếu không nhập số ngày nghỉ, chỉ nhập ngày bắt đầu và ngày kết thúc thì số ngày nghỉ sẽ tự tính kết quả
VD:
Số ngày nghỉ = ...... (Không nhâp, công thức sẽ tự tính kết quả = ngày kết thúc - ngày bắt đầu)
Ngày bắt đầu = 03/07/2013
Ngày két thúc = 06/07/2013
Trân trọng cảm ơn!
bạn chỉ cần đặt công thức trên vào các sự kiện (event) tương ứng là được:
1. Sự kiện: On Afterupdate của textbox NgayNghi:
Mã PHP:NgayKetThuc = DateAdd("d", NgayNghi, NgayBatDau)
2. Sự kiện: On Afterupdate của textbox NgayKetThuc:
Mã PHP:NgayNghi = DateDiff("d", NgayKetThuc, NgayBatDau)
Tùy biến thêm theo yêu cầu thực tế của bạn nhé! Thân!
bomnhauag > 03-07-13, 04:49 PM
if not isNull(NgayNghi) then NgayKetThuc = DateAdd("d", NgayNghi, NgayBatDau)
if isDate(NgayKetThuc) then NgayNghi = DateDiff("d", NgayKetThuc, NgayBatDau)
cpucloi > 03-07-13, 05:34 PM
bomnhauag > 03-07-13, 07:39 PM
(03-07-13, 05:34 PM)cpucloi Đã viết: Bạn có thể dùng thuộc tính default của textbox cũng được mà (quên ở câu hỏi làm hướng dẫn đó nha).
huuduy.duy > 03-07-13, 10:35 PM
(03-07-13, 07:39 PM)bomnhauag Đã viết:(03-07-13, 05:34 PM)cpucloi Đã viết: Bạn có thể dùng thuộc tính default của textbox cũng được mà (quên ở câu hỏi làm hướng dẫn đó nha).
Hoàn toàn không được đâu bạn.
- Trước hết lúc mở form lên: NgayBD sẽ trống thì 2 ô kia sẽ lỗi #Type
- Sau đó nếu nhập ngàyBD rồi, NgayNghi rồi thì ô NgayKT cũng kô si nhê j, không tự tính toán được ngày kết thúc đâu.
- Và ngược lại cũng vậy.
bomnhauag > 03-07-13, 10:58 PM
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 43 Then txtNgay = DateAdd("d", 1, txtNgay)
If KeyAscii = 95 Then txtNgay = DateAdd("d", -1, txtNgay)
End Sub
huuduy.duy > 04-07-13, 09:40 AM
(03-07-13, 10:58 PM)bomnhauag Đã viết: Trên form bạn chỉnh thuộc tính (properties) Key Preview : Yes
bỏ đoạn code này vào sự kiện On Keypress của form nhé:
Mã PHP:Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 43 Then txtNgay = DateAdd("d", 1, txtNgay)
If KeyAscii = 95 Then txtNgay = DateAdd("d", -1, txtNgay)
End Sub
bomnhauag > 04-07-13, 12:56 PM
Private Sub Form_KeyPress(KeyAscii As Integer)
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 43 Then ngaybatdau = DateAdd("d", 1, ngaybatdau)
If KeyAscii = 95 Then ngaybatdau = DateAdd("d", -1, ngaybatdau)
End Sub
End Sub
Option Compare Database
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 43 Then ngaybatdau = DateAdd("d", 1, ngaybatdau)
If KeyAscii = 95 Then ngaybatdau = DateAdd("d", -1, ngaybatdau)
End Sub
Private Sub ngayketthuc_AfterUpdate()
If IsDate(ngayketthuc) Then NGAYNGHI = DateDiff("d", ngaybatdau, ngayketthuc)
End Sub
Private Sub NGAYNGHI_AfterUpdate()
If Not IsNull(NGAYNGHI) Then ngayketthuc = DateAdd("d", NGAYNGHI, ngaybatdau)
End Sub