Xuân Thanh > 19-03-15, 04:49 PM
Function Ngaycuathang(ByVal bDate As Date) As Byte
Dim Namnhuan As Boolean
Dim NGAY As Byte, Thang As Byte
Namnhuan = ((Year(bDate) / 4 - Int(Year(bDate) / 4)) = 0)
Thang = Month(bDate)
If Thang = 4 Or Thang = 6 Or Thang = 9 Or Thang = 11 Then
NGAY = 30
ElseIf Thang = 2 Then
If Namnhuan Then
NGAY = 29
Else
NGAY = 28
End If
Else
NGAY = 31
End If
Ngaycuathang = NGAY
End Function
Function NgayCuoiThang(ByVal bDate As Date) As Date
Dim NGAY As Byte
NGAY = Day(bDate)
NgayCuoiThang = bDate + (Ngaycuathang(bDate) - NGAY)
NgayCuoiThang = Format(NgayCuoiThang, "dd/mm/yyyy")
End Function
maidinhdan > 19-03-15, 05:16 PM
(19-03-15, 04:49 PM)Xuân Thanh Đã viết: 2/ Hàm xác định ngày cuối cùng của tháng
Mã PHP:Function NgayCuoiThang(ByVal bDate As Date) As Date
Dim NGAY As Byte
NGAY = Day(bDate)
NgayCuoiThang = bDate + (Ngaycuathang(bDate) - NGAY)
NgayCuoiThang = Format(NgayCuoiThang, "dd/mm/yyyy")
End Function
=DateSerial(Year(Date()), Month(Date()), 1)
==DateSerial(Year(Date()),Month(Date())+1,1)
=DateSerial(Year(Date()),Month(Date())+1,0)
=DateSerial(Year(Date()),Month(Date())+2,0)
=DateSerial(Year(Date()),Month(Date())-1,1)
=DateSerial(Year(Date()),Month(Date()),0)
=DateSerial(Year(Date()),1,1)
=DateSerial(Year(Date()), Int((Month(Date())-1)/3)*3+4,0)
=Date() - WeekDay(Date())+1
=Date() - WeekDay(Date())+7
=Date() - WeekDay(Date(),0)+1
=Date() - WeekDay(Date(),0)+7
Xuân Thanh > 20-03-15, 11:36 AM
tracanhtam > 06-02-20, 09:59 AM
Function Ngaycuathang(ByVal bDate As Date) As Byte
Dim Namnhuan As Boolean
Dim NGAY As Byte, Thang As Byte
Namnhuan = ((Year(bDate) / 4 - Int(Year(bDate) / 4)) = 0)
Thang = Month(bDate)
If Thang = 4 Or Thang = 6 Or Thang = 9 Or Thang = 11 Then
NGAY = 30
ElseIf Thang = 2 Then
If Namnhuan Then
NGAY = 29
Else
NGAY = 28
End If
Else
NGAY = 31
End If
Ngaycuathang = NGAY
End Function
Function NgayCuoiThang(ByVal bDate As Date) As Date
Dim NGAY As Byte
NGAY = Day(bDate)
NgayCuoiThang = bDate + (Ngaycuathang(bDate) - NGAY)
NgayCuoiThang = Format(NgayCuoiThang, "dd/mm/yyyy")
End Function
tranthanhan1962 > 06-02-20, 12:23 PM
(06-02-20, 09:59 AM)tracanhtam Đã viết: Tôi có table gồm 3 cột : Tuan,Tungay,Denngay.Tôi không biết hàm tính số thứ tự tuần rồi qui ra ngày nhưng access có hàm format giải quyết được ngày nào thuộc tuần thứ mấy, đó là hàm Format([Date],"WW", 2,2), nếu bạn có 3 field Tuan,Tungay,Denngay, bạn có thể viết code để xử lý 2 field Tungay,Denngay trước, còn field Tuan thì rất dễ, chỉ cần lấy bằng hàm format nói trên còn đối số thì dùng Tungay hoặc Denngay cũng được.
1/ Cột tuần từ 1 đến n, ở cột tuần, tôi nhập số 1,ở cột từ ngày là : 03/02/2020(thứ hai) và ở cột đến ngày là 08/02/2020 (thứ bảy), nếu nhập như vậy n tuần thì rất lâu, tôi muốn nhập nhanh thì phải làm sao.
2/ Việc thứ 2: tuần 1 là từ 3/2/2020 đến 8/2/2020, tuần 2 là từ 10/2/2020 đến 15/2/2020, nhưng tuần 3 thì tôi muốn là từ 24/2/2020 đến 29/2/2020, các tuần phía sau thì tiếp tục như vậy như tuần 1 và 2.
Xin mọi người giúp dùm, rất cám ơn.
tracanhtam > 06-02-20, 01:01 PM
(06-02-20, 12:23 PM)tranthanhan1962 Đã viết:Tuần thì mình nhập từ 1 đến n, không cần phải theo tuần của lịch năm. Mình có thể qui định tuần 1 từ 19/08/2019 đến 24/08/2019, tuần 19 từ 30/12/2019 đến 04/01/2020, tôi muốn nhập bằng code , bạn có thể viết dùm code. Xin cám ơn. Tôi muốn được như file excel sau : https://drive.google.com/open?id=1PCWSPA...hF5soUiV6e(06-02-20, 09:59 AM)tracanhtam Đã viết: Tôi có table gồm 3 cột : Tuan,Tungay,Denngay.Tôi không biết hàm tính số thứ tự tuần rồi qui ra ngày nhưng access có hàm format giải quyết được ngày nào thuộc tuần thứ mấy, đó là hàm Format([Date],"WW", 2,2), nếu bạn có 3 field Tuan,Tungay,Denngay, bạn có thể viết code để xử lý 2 field Tungay,Denngay trước, còn field Tuan thì rất dễ, chỉ cần lấy bằng hàm format nói trên còn đối số thì dùng Tungay hoặc Denngay cũng được.
1/ Cột tuần từ 1 đến n, ở cột tuần, tôi nhập số 1,ở cột từ ngày là : 03/02/2020(thứ hai) và ở cột đến ngày là 08/02/2020 (thứ bảy), nếu nhập như vậy n tuần thì rất lâu, tôi muốn nhập nhanh thì phải làm sao.
2/ Việc thứ 2: tuần 1 là từ 3/2/2020 đến 8/2/2020, tuần 2 là từ 10/2/2020 đến 15/2/2020, nhưng tuần 3 thì tôi muốn là từ 24/2/2020 đến 29/2/2020, các tuần phía sau thì tiếp tục như vậy như tuần 1 và 2.
Xin mọi người giúp dùm, rất cám ơn.
Còn cách tính số thứ tự tuần của bạn có quy ước khác. Tuần thứ nhất trong năm là từ ngày 1/1/2020 đến 7/11/2020. Nhưng bạn tính tuần 1 là 24/2/2020 đến 29/2/2020 tương đương với tuần 9 qui ước quốc tế thì công thức nó sẽ là Format([Date],"WW", 2,2) - 8, điều này sẽ xảy ra việc các ngày trước ngày 24/2 sẽ cho ra kết quả tuần số âm nếu đưa vào bạn sẽ phải dùng hàm if để xử lý các ngày này thành các tuần của năm trước
ongke0711 > 06-02-20, 03:12 PM
(06-02-20, 01:01 PM)tracanhtam Đã viết: Tuần thì mình nhập từ 1 đến n, không cần phải theo tuần của lịch năm. Mình có thể qui định tuần 1 từ 19/08/2019 đến 24/08/2019, tuần 19 từ 30/12/2019 đến 04/01/2020, tôi muốn nhập bằng code , bạn có thể viết dùm code. Xin cám ơn. Tôi muốn được như file excel sau : https://drive.google.com/open?id=1PCWSPA...hF5soUiV6e
tracanhtam > 06-02-20, 04:20 PM
(06-02-20, 03:12 PM)ongke0711 Đã viết:Bạn có thể giúp dùm code nhập từ ngày đến ngày, tuần thì cố định nhập trước từ 1 đến n, xin cám ơn(06-02-20, 01:01 PM)tracanhtam Đã viết: Tuần thì mình nhập từ 1 đến n, không cần phải theo tuần của lịch năm. Mình có thể qui định tuần 1 từ 19/08/2019 đến 24/08/2019, tuần 19 từ 30/12/2019 đến 04/01/2020, tôi muốn nhập bằng code , bạn có thể viết dùm code. Xin cám ơn. Tôi muốn được như file excel sau : https://drive.google.com/open?id=1PCWSPA...hF5soUiV6e
Nhìn theo file Excel bạn đưa thì có phải là tuần nào rơi vào các ngày nghỉ Lễ, Tết v.v.. do Cty bạn qui định thì sẽ không tính tuần đó mà chỉ số thứ tự Tuần theo Ngày thực tế đi làm đúng không?
Vd:
Tuần 21: 13/01/2020 - 18/01/2020
Tuần 22: 10/02/2020 - 15/02/2020 --> nghỉ Tết 19/01 - 09/02
Nếu theo cách hiểu này thì bạn phải có thêm 1 Table để lưu thông tin các ngày nghỉ mà Cty bạn qui định sau đó mới đối chiếu các ngày trong năm với các nghỉ trong bảng ngày mà lọc bỏ ra.
ongke0711 > 06-02-20, 04:40 PM
(06-02-20, 04:20 PM)tracanhtam Đã viết: Bạn có thể giúp dùm code nhập từ ngày đến ngày, tuần thì cố định nhập trước từ 1 đến n, xin cám ơn
tracanhtam > 06-02-20, 05:11 PM
(06-02-20, 04:40 PM)ongke0711 Đã viết:1/ Tổng số tuần là 37(06-02-20, 04:20 PM)tracanhtam Đã viết: Bạn có thể giúp dùm code nhập từ ngày đến ngày, tuần thì cố định nhập trước từ 1 đến n, xin cám ơn
- Vậy tức là Cty bạn có qui định các ngày nghỉ trong năm theo từng năm đúng không? Table này bạn phải tự cập nhật theo qui định mà bạn biết. Mỗi năm sẽ cập nhật mới các ngày nghỉ ngày. (Ví dụ như hình bên dưới)
- "giúp giùm code..": tôi chưa hiểu lắm. Nghĩa là khi bạn gõ trên Form thông tin [Từ ngày], [Đến ngày] thì sẽ hiện ra số tuần? hay ngược lại? Hay bạn muốn: tự động chạy ra toàn bộ bảng như file Excel đính kèm với các thông số bạn cung cấp như:
+ Tổng số tuần.
+ Tuần 1 bắt đầu ngày nào.
+ Các ngày nghỉ làm việc theo qui định hàng năm.