Foxtable(狐表)用户栏目专家坐堂 → 考勤垂直表转换为横表


  共有3902人关注过本帖树形打印复制链接

主题:考勤垂直表转换为横表

帅哥哟,离线,有人找我吗?
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107525 积分:546910 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/9 21:16:00 [只看该作者]

Dim d As Date =  e.Form.Controls("DateTimePicker1").Value
MessageBox.Show(d.year)
If d <> Nothing Then
    Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
    Dim int As Integer = 0
    For Each r As WinForm.ListViewRow In lvw.Rows
        If r.Checked = True
            int = int+1
        End If
    Next
    If Int = 0 Then
        MessageBox.show("你并没有选择任何人!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        Dim Result As DialogResult
        Result = MessageBox.Show("你本次到岗人数为:" & int & "人,缺勤人数为:"& int & " 人,确定考勤吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes  Then
            For Each r As WinForm.ListViewRow In lvw.Rows
                Dim dr As DataRow = DataTables("实名制考勤").Find("年='" & d.Year & "' And 月='" & d.Month & "' And 姓名='" & r.Text & "'")
                If dr Is Nothing Then
                    dr = DataTables("实名制考勤").AddNew
                    dr("年") = d.Year
                    dr("月") = d.Month
                    dr("姓名") = r.Text
                End If
                If r.Checked = True
                    dr("日" & d.Day) = "√"
                Else
                    dr("日" & d.Day) = "×"
                End If
            Next
            DataTables("实名制考勤").Save
        End If
    End If
Else
    MessageBox.show("考勤日期不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  12楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3098 积分:20682 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/4/10 13:50:00 [只看该作者]

老师,怎么横向统计字符列呢?比如我在每月最后增加一列出勤天数合计,怎么统计一个人当月出勤的天数,前面的√是字符列。

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  13楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3098 积分:20682 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/4/10 14:27:00 [只看该作者]

知道怎么统计了

If e.DataCol.Name Like "日*" Then
    Dim sum As Integer = 0
    For i As Integer = 1 To 31
        If e.DataRow("日" & i) = "√" Then
            sum += 1
        End If
    Next
    e.DataRow("出勤天数") = sum
End If


 回到顶部
总数 13 上一页 1 2