-
Nhờ giúp cập nhật dữ liệu khi lựa chọn ngày nghỉ tua trong tháng
cpucloi > 15-08-21, 06:01 PM
Bảng chấm công được tự động chấm công làm đủ các ngày trong tháng, em muốn sau khi cập nhật ngày nghỉ tua thì tương ứng với filed Ngày thì dữ liệu được sửa thành CN.
Em nghĩ mãi không ra, nhờ ACE giúp đỡ.
File của em đây https://drive.google.com/file/d/1WMIZF2U...sp=sharing -
RE: Nhờ giúp cập nhật dữ liệu khi lựa chọn ngày nghỉ tua trong tháng
ongke0711 > 15-08-21, 07:30 PM
Bạn mô tả rõ thêm chút nữa là:
- Trong combox chọn ngày "nghỉ tua" là theo "thứ" --> vậy khi đánh dấu vô bảng là cũng đánh theo "thứ" hay chỉ cần theo số thứ tự N1 - N31
Vd: tháng 8 thì thứ 2 cũng rơi vào ngày 2.
tháng 9 thì thứ 2 rơi vào ngày 6 của tháng.
Tháng 10 thì thứ 2 rơi vào ngày 4/10.
Vậy nên hiểu theo kiểu nào? -
RE: Nhờ giúp cập nhật dữ liệu khi lựa chọn ngày nghỉ tua trong tháng
tranthanhan1962 > 15-08-21, 07:41 PM
Là sao! Có phải như thế này không?
-
RE: Nhờ giúp cập nhật dữ liệu khi lựa chọn ngày nghỉ tua trong tháng
cpucloi > 16-08-21, 05:45 AM
Dạ đúng đấy pác tranthanhhan1962, pác hướng dẫn em tí xíu, em cảm ơn[b][url=https://thuthuataccess.com/forum/user-15953.html][/url][/b]
-
RE: Nhờ giúp cập nhật dữ liệu khi lựa chọn ngày nghỉ tua trong tháng
ongke0711 > 16-08-21, 08:48 AM
-
RE: Nhờ giúp cập nhật dữ liệu khi lựa chọn ngày nghỉ tua trong tháng
tranthanhan1962 > 16-08-21, 09:02 AM
Mình cũng có 1 bảng chấm công có lẽ cũng giống giống, để tìm lại xem -
RE: Nhờ giúp cập nhật dữ liệu khi lựa chọn ngày nghỉ tua trong tháng
cpucloi > 16-08-21, 10:30 AM
Ý của ongke0711 là về số ngày trong tháng (28, 29, 30 hoặc 31) ngày phải không?
Ở đây mình chỉ cần cập nhật theo thứ trong tuần, ứng với thứ được chọn trong cbo_Nghitua thì record đó sẽ cập nhật giá trị thành CN tương ứng trong các filed (các filed ngày đấy) -
RE: Nhờ giúp cập nhật dữ liệu khi lựa chọn ngày nghỉ tua trong tháng
tranthanhan1962 > 16-08-21, 12:16 PM
Bạn xử dụng "CN" làm ngày nghỉ tua dễ gây nhầm lẫn, nên xử dụng ký tự khác.
Tạo 1 select query, thêm các field M1, M2, M3.....M29, M30, M31
Thiết đặt công thức:
M1: IIf(Weekday(DateSerial([Nam];[Thang];1))=[Nghitua];"CN";"")
M2: IIf(Weekday(DateSerial([Nam];[Thang];2))=[Nghitua];"CN";"")
M3: IIf(Weekday(DateSerial([Nam];[Thang];3))=[Nghitua];"CN";"")
...
M30: IIf(Weekday(DateSerial([Nam];[Thang];30))=[Nghitua];"CN";"")
M31: IIf(Weekday(DateSerial([Nam];[Thang];31))=[Nghitua];"CN";"")
Công thức này chủ yếu lấy ngày thứ theo ngày thực tế. Ví dụ ở đây M1 <=> Weekday(DateSerial([Nam];[Thang];1)) = Weekday(DateSerial(2021;8;1)) = 1 => CN
M2 <=> Weekday(DateSerial([Nam];[Thang];2)) = Weekday(DateSerial(2021;8;2)) = 2 => thứ 2...
Nếu giá trị nào bằng [Nghitua] thì trả về "CN" / nếu không thì ""
Sau khi có giá trị M1 --> M31 của query này thì update lên table tbl_chamcong
-
RE: Nhờ giúp cập nhật dữ liệu khi lựa chọn ngày nghỉ tua trong tháng
ongke0711 > 17-08-21, 10:02 AM
(16-08-21, 10:30 AM)cpucloi Đã viết: Ý của ongke0711 là về số ngày trong tháng (28, 29, 30 hoặc 31) ngày phải không?
Ở đây mình chỉ cần cập nhật theo thứ trong tuần, ứng với thứ được chọn trong cbo_Nghitua thì record đó sẽ cập nhật giá trị thành CN tương ứng trong các filed (các filed ngày đấy)
Nếu muốn dùng code VBA thì dùng code này: thay đổi theo tháng có 28, 29, 30, 31 ngày
Mã PHP:Private Sub cbo_Nghitua_AfterUpdate()
Dim rs As DAO.Recordset
Dim sSQL As String, kyhieu As String, i As Integer, thu As Integer, Nghitua As Integer, ldom As Integer
DoCmd.RunCommand acCmdSaveRecord
If Me.cbo_Nghitua = "CN" Then
Nghitua = 1
Else
Nghitua = CInt(Me.cbo_Nghitua.Value)
End If
kyhieu = "P"
sSQL = "Select * From tbl_chamcong Where [ID] =" & Me.txt_ID & " And [Thang] = " & Me.txt_Thang & " And [Nam] = " & Me.txt_Nam
Set rs = CurrentDb.OpenRecordset(sSQL, dbOpenDynaset)
rs.Edit
For i = 1 To 31
thu = Weekday(DateSerial(Me.txt_Nam, Me.txt_Thang, i))
If thu = Nghitua Then
rs.Fields("N" & i).Value = kyhieu
Else
rs.Fields("N" & i).Value = "x"
End If
Next
ldom = Day(DateSerial(Me.txt_Nam, Me.txt_Thang + 1, 1 - 1))
Debug.Print ldom
Select Case ldom
Case 28
rs.Fields("N" & 29).Value = ""
rs.Fields("N" & 30).Value = ""
rs.Fields("N" & 31).Value = ""
Case 29
rs.Fields("N" & 30).Value = ""
rs.Fields("N" & 31).Value = ""
Case 30
rs.Fields("N" & 31).Value = ""
End Select
rs.Update
rs.Close
End Sub -
RE: Nhờ giúp cập nhật dữ liệu khi lựa chọn ngày nghỉ tua trong tháng
Xuân Thanh > 17-08-21, 10:30 AM
Thực sự không hiểu cái bảng chấm công như thế nào nữa(Không giống bảng chấm công bình thường) và cái ngày nghỉ tua là ngày gì?