Đánh giá chủ đề:
  • 1 Votes - 1 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hàm] Hàm HenNgay để tính ngày kẻ từ ngày bắt đầu đến ngày có số ngày hẹn cho trước
#1
Nhân tiện giúp một bạn trên diễn đàn, tôi đưa chủ đề dó vào đây để các bạn tham khảo
Đề bài : Một công chức nhận hồ sơ của công dân và hẹn sau một số ngày nhất định nào đó thì đến nhận hồ sơ. Làm sao tính được ngày đó, trừ ngày lễ, thứ 7, chủ nhật?
Tạo một modul mới và chép hàm sau đây vào và chạy nó

Mã PHP:
Function HenNgay(TuNgay As DateSoNgay As IntegerSoNgayLe As Integer)
    
Dim So As IntegerSoDu As Integer
    So 
Int(SoNgay 5)
    
SoDu SoNgay So 5
    HenNgay 
IIf(So 0TuNgay So SoDu SoNgayLeIIf(Weekday(TuNgay) > 4TuNgay SoDu SoNgayLeTuNgay SoDu SoNgayLe))
End Function 

TuNgay là ngày nhận hồ sơ
SoNgay là số ngày hẹn trả hồ sơ
SoNgayLe là số ngay nghỉ lễ năm trong khoảng thời gian trả hồ sơ
Hàm HenNgay sẽ tính ra ngày phải trả hồ sơ

Chúc các bạn vui
Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn huuduy.duy , hugox03 , Truong Van Truong , danhxetnghiem , Minh Tiên
#2
Sao hàm "HenNgay" có một số trường hợp lại trả đúng vào ngày Thứ 7 hoặc Chủ nhật vậy bác. Bác xem lại giúp dùm em nha. Cám ơn bác nhiều.
Chữ ký của Truong Van Truong Xin chào, mình là Truong Van Truong, Tham gia http://thuthuataccess.com/forum từ ngày 05-09 -13.
Reply
Những người đã cảm ơn
#3
(17-04-14, 12:15 PM)Truong Van Truong Đã viết: Sao hàm "HenNgay" có một số trường hợp lại trả đúng vào ngày Thứ 7 hoặc Chủ nhật vậy bác. Bác xem lại giúp dùm em nha. Cám ơn bác nhiều.

Sory các bạn vì chưa test kỹ. Các bạn sửa lại hàm như sau :
Mã PHP:
.....
    
HenNgay IIf(So 0TuNgay So SoDu SoNgayLeIIf(Weekday(TuNgay) + SoDu 5TuNgay SoDu SoNgayLeTuNgay SoDu SoNgayLe))
... 

Thành thật xin lỗi mọi người
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Truong Van Truong
#4
Vẫn là bác Xuân Thanh nhanh nhất, quá tuyệt vời.
Bác xem lại giúp dùm em lần nữa nha, vẫn còn rơi vào ngày Thứ 7 hoặc Chủ nhật bác ơi.
Em cám ơn bác!


http://www.mediafire.com/download/lkwfd4..._CN).accdb
Chữ ký của Truong Van Truong Xin chào, mình là Truong Van Truong, Tham gia http://thuthuataccess.com/forum từ ngày 05-09 -13.
Reply
Những người đã cảm ơn
#5
Ngày nghỉ lễ thay đổi không cố định theo một quy luật nào, cho nên không thể tính được ngày nghỉ lễ để trừ ra. Theo giải pháp của anh Xuân Thanh thì chỉ cần số ngày hẹn là được rồi. Nếu là một cán bộ công chức bạn biết cần phải hẹn bao nhiêu ngày, và ngày nào được nghỉ, khi đó bạn sẽ chủ động hẹn bằng số ngày hẹn cho phù hợp ( tức là trường hợp có ngày nghĩ lễ thì hẹn dài hơn, do ngày lễ ít nên không quá khó khăn). Nếu xét ngày t7,CN thì hàm như sau:
Mã PHP:
Function HenNgay(TuNgay As DateSoNgay As Integer)
Dim Denngay as Date 
if Songay >= 0 then
  Denngay 
Tungay +songay
  HenNgay 
=  IIf(Weekday(Denngay)> 5,Denngay 2,Denngay)
end if
End Function 
Chữ ký của trunghieu <<---Trên bước đường thành công, không có dấu chân của kẻ lười biếng --->>
ღღღღღTài sản của trunghieu (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Truong Van Truong
#6
HenNgay vẫn rơi vào ngày thứ 7 hoặc chủ nhật bạn "trunghieu" ơi. Bạn xem lại dùm nha. Xin cám ơn!

http://www.mediafire.com/download/zhpp3v...ase3.accdb
Chữ ký của Truong Van Truong Xin chào, mình là Truong Van Truong, Tham gia http://thuthuataccess.com/forum từ ngày 05-09 -13.
Reply
Những người đã cảm ơn
#7
Bạn chỉnh lại:
Mã PHP:
Function HenNgay(TuNgay As DateSoNgay As Integer)
Dim Denngay as Date 
if Songay >= 0 then
  Denngay 
Tungay +songay
  HenNgay 
=  IIf(Weekday(Denngay,vbMonday)> 5,Denngay 2,Denngay)
end if
End Function 
ở đây hàm weekday trả về số từ 1 -7 tương ứng với 2 đến thứ CN. Do thiếu phần chọn ngày bắt đầu để tỉnh nên sẽ bị rơi vào trường hợp ngày CN.
Bạn chỉnh lại là OK.
Thanks bạn.
Chữ ký của trunghieu <<---Trên bước đường thành công, không có dấu chân của kẻ lười biếng --->>
ღღღღღTài sản của trunghieu (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Truong Van Truong , Minh Tiên
#8
Mình tự học nên còn yếu quá. Bạn có thể nói rõ hơn dùm mình được không
Thanks bạn.
Chữ ký của Truong Van Truong Xin chào, mình là Truong Van Truong, Tham gia http://thuthuataccess.com/forum từ ngày 05-09 -13.
Reply
Những người đã cảm ơn
#9
(27-04-14, 10:42 PM)Truong Van Truong Đã viết: HenNgay vẫn rơi vào ngày thứ 7 hoặc chủ nhật bạn "trunghieu" ơi. Bạn xem lại dùm nha. Xin cám ơn!

http://www.mediafire.com/download/zhpp3v...ase3.accdb

(28-04-14, 04:47 PM)trunghieu Đã viết: Bạn chỉnh lại:
Mã PHP:
Function HenNgay(TuNgay As DateSoNgay As Integer)
Dim Denngay as Date 
if Songay >= 0 then
  Denngay 
Tungay +songay
  HenNgay 
=  IIf(Weekday(Denngay,vbMonday)> 5,Denngay 2,Denngay)
end if
End Function 
ở đây hàm weekday trả về số từ 1 -7 tương ứng với 2 đến thứ CN. Do thiếu phần chọn ngày bắt đầu để tỉnh nên sẽ bị rơi vào trường hợp ngày CN.
Bạn chỉnh lại là OK.
Thanks bạn.

Sao mình không tính luôn ngày nghỉ lễ, nghỉ bù vào luôn nhỉ
Chữ ký của cawboy Xin chào, mình là cawboy, Tham gia http://thuthuataccess.com/forum từ ngày 07-03 -14.
ღღღღღTài sản của cawboy (View All Items) ღღღღღ
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hàm] Demo_[Hàm] Tính thâm niên như BHXH (maidinhdan) maidinhdan 18 2,249 08-05-16, 09:20 PM
Bài mới nhất: maidinhdan
  Hướng Dẫn Tổng hợp các hàm Toán học nâng cao: thống kê, xác xuất, tuyến tính..(Ví dụ) maidinhdan 0 175 16-04-16, 01:15 PM
Bài mới nhất: maidinhdan
  Hướng Dẫn Tổng hợp các hàm ngày tháng ( Vidu minh họa) maidinhdan 0 264 16-04-16, 01:12 PM
Bài mới nhất: maidinhdan
  [Hàm] Hàm tách lấy số trong một chuỗi cho trước Xuân Thanh 11 2,124 13-10-15, 10:08 AM
Bài mới nhất: tranthanhan1962
  Dùng VBA để tính tồn kho Xuân Thanh 4 1,962 23-07-15, 04:15 PM
Bài mới nhất: bvchauthanh

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ