Foxtable(狐表)用户栏目专家坐堂 → 求助:自动分解考勤工时到指定位置列


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

主题:求助:自动分解考勤工时到指定位置列

帅哥哟,离线,有人找我吗?
最嗨魔女呜啦啦
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:679 威望:0 精华:0 注册:2018/5/15 12:04:00
  发帖心情 Post By:2019/2/20 15:50:00 [显示全部帖子]

你好  老师  看了这个范例  我有些问题  就是我的数据跟他的数据有个区别  就是中间有两个空格  会报错

图片点击可在新窗口打开查看此主题相关图片如下:lqo13w~$n24tkvm1df~19.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:uhh$lthbt_479urzs}hfyb.png
图片点击可在新窗口打开查看


Select Case e.DataCol.Name
    Case "考勤时间"
        If e.DataRow.IsNull("考勤时间") = False Then
            Dim ary() As String = e.DataRow("考勤时间").split("  ")
            For Each str As String In ary
                Dim d As Date = new Date(1900,1,1,str.Split(":")(0),str.Split(":")(1), 0)
                Dim fdr As DataRow = DataTables("班段设置").Find("起始时间 <= #" & d & "#", "起始时间 desc")
                If fdr IsNot Nothing Then
                    Dim Idx As String = Tables("班段设置").FindRow(fdr)
                    Dim cname As String = "第" & idx+1 & "段"
                    Dim temp As Date = CDate(e.DataRow(cname))
                    temp = new Date(1900, 1, 1, temp.Hour, temp.Minute, 0)
                    If e.DataRow.IsNull(cname) OrElse temp > d Then
                        e.DataRow("第" & idx+1 & "段") = d
                    End If
                Else
                    
                End If
            Next
        End If
End Select

这一段该如何修改呀

 回到顶部
帅哥哟,离线,有人找我吗?
最嗨魔女呜啦啦
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:679 威望:0 精华:0 注册:2018/5/15 12:04:00
  发帖心情 Post By:2019/2/20 16:17:00 [显示全部帖子]

蓝老师  测试了下  还是再报那个错误

 回到顶部
帅哥哟,离线,有人找我吗?
最嗨魔女呜啦啦
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:679 威望:0 精华:0 注册:2018/5/15 12:04:00
  发帖心情 Post By:2019/2/21 11:39:00 [显示全部帖子]

在datacolchanged 事件里怎么调试呀   写了msgbox 没作用诶  求指教

 回到顶部
帅哥哟,离线,有人找我吗?
最嗨魔女呜啦啦
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:679 威望:0 精华:0 注册:2018/5/15 12:04:00
  发帖心情 Post By:2019/2/21 12:51:00 [显示全部帖子]

老师  通过测试我大概知道哪里出现了问题
            Dim ary() As String =  e.DataRow("考勤时间").replace(" "," ").split(" ")
            For Each str As String In ary

                Dim d As Date = new Date(1900,1,1,str.Split(":")(0),str.Split(":")(1), 0)
msgbox(str)
msgbox(str.Split(":")(0))
msgbox(str.Split(":")(1))

这一句应该有问题  但能力有限不知道怎么改  只有一个空格时  可以看出可以顺势  7:58  7  58  7:59  7   59  

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看






 回到顶部
帅哥哟,离线,有人找我吗?
最嗨魔女呜啦啦
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:679 威望:0 精华:0 注册:2018/5/15 12:04:00
  发帖心情 Post By:2019/2/21 12:54:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

但是有两个空格时   就会弹两个空白  然后报错

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看



 回到顶部
帅哥哟,离线,有人找我吗?
最嗨魔女呜啦啦
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:679 威望:0 精华:0 注册:2018/5/15 12:04:00
  发帖心情 Post By:2019/2/22 12:28:00 [显示全部帖子]

谢谢老师  空格问题已解决  但有新的问题  就是如果早退的话   系统无法记录数据在事件段内  直接显示空白  怎样让其在早退时也会记录数据

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


 回到顶部