• Nhờ giúp cập nhật dữ liệu khi lựa chọn ngày nghỉ tua trong tháng
  • 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?
    [Hình: NzyliGn.png]
  • 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 big green[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

    (16-08-21, 05:45 AM)cpucloi Đã viết: Dạ đúng đấy pác tranthanhhan1962, pác hướng dẫn em tí xíu, em cảm ơn big green[b][url=https://thuthuataccess.com/forum/user-15953.html][/url][/b]

    Tháng 9 bạn đánh dấu như thế 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 > 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
    [Hình: uUWkjWw.png]
    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
    [Hình: 2MGiACd.png]
  • 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 Stringkyhieu As StringAs Integerthu As IntegerNghitua As Integerldom 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(sSQLdbOpenDynaset)
        rs.Edit
        
    For 1 To 31
            thu 
    Weekday(DateSerial(Me.txt_NamMe.txt_Thangi))
            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_NamMe.txt_Thang 11))
        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ì?