Foxtable(狐表)用户栏目专家坐堂 → 做了一个考勤表,需要帮助


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

主题:做了一个考勤表,需要帮助

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
做了一个考勤表,需要帮助  发帖心情 Post By:2018/10/9 10:27:00 [显示全部帖子]


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

考勤表窗口里面要显示 表A 休息人员的休息日期(用红色显示)和统计休息天数。 

数据表:考勤表的datacolchanged不知道怎么写。 

求助甜甜:),谢谢!

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/10/9 10:29:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


这是实例

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/10/9 11:15:00 [显示全部帖子]

点选单选框 “本月查询”, foxtable自动退出了。。。。。

我需要 考勤表的 datacolchanged 事件里面的日期是一个变量,而不是一个具体的日期(
Dim d As Date = "2018-10-01"
)

因为我还需要查询, 本月, 上月, 本周,上周的考勤。 
[此贴子已经被作者于2018/10/9 11:25:37编辑过]

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/10/9 11:46:00 [显示全部帖子]

恩, 那我把筛选日期写到 单选按钮里面, 在考勤表的datacolchanged 事件里面只写上这样:


For Each dr As DataRow In DataTables("考勤表").Select("姓名 is not null")
    For i As Integer = 1 To dr.DataTable.DataCols.count-1
        dr(dr.DataTable.DataCols(i).name) = Nothing
    Next
    For Each cdr As DataRow In DataTables("表A").Select("  休息人员='" & dr("姓名") & "'")
        For i As Integer = 1 To dr.DataTable.DataCols.count-1
            Dim dc = dr.DataTable.DataCols(i)
            If dc.caption = cdate(cdr("日期")).day Then
                dr(dc.name) = 1
            End If
        Next
    Next
Next

看行不? 还有好像没在我创建的副本表(Table_rest)里面进行查询。 

这里要改成这样吗? For Each cdr As DataRow In e.form.controls("Table_rest").Table.Select("  休息人员='" & dr("姓名") & "'")

然后提示错误: .NET Framework 版本:2.0.50727.8825
Foxtable 版本:2018.9.9.1
错误所在事件:表,考勤表, DataColChanged
详细错误信息:
调用的目标发生了异常。
重载决策失败,因为没有可访问的“Select”接受此数目的参数。
[此贴子已经被作者于2018/10/9 11:52:59编辑过]

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/10/10 9:44:00 [显示全部帖子]

我放到按钮里面了,运行时自动退出了。

单选 “本月查询”

我发来实例, 请甜甜看看, 谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


[此贴子已经被作者于2018/10/10 9:47:37编辑过]

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/10/11 9:29:00 [显示全部帖子]

111
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


合计天数是个表达示式列, 运行查询时, 提示 列“合计天数”为只读。
[此贴子已经被作者于2018/10/11 9:29:54编辑过]

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/10/11 10:17:00 [显示全部帖子]

恩, 差不多行了, 谢谢甜老师。 最后一个问题, 这个下拉列表的时间要怎么求出来呢?

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



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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/10/11 10:28:00 [显示全部帖子]

棒棒哒, 甜甜今天中午我给你加个鸡腿 !!图片点击可在新窗口打开查看

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/10/11 15:15:00 [显示全部帖子]

甜甜,遇到了一个新的问题。 如果休息人员是多值字段,里面有多个值, 以前的代码就不能正常运行了。

比如像这样:


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

事例又传上来
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


这段代码应该怎么改呢:

    For Each dr As DataRow In DataTables("考勤表").Select("姓名 is not null")
        For i As Integer = 1 To dr.DataTable.DataCols.count-2
            dr(dr.DataTable.DataCols(i).name) = Nothing
        Next
        For Each cdr As DataRow In dt.Select("  休息人员='" & dr("姓名") & "'")
            For i As Integer = 1 To dr.DataTable.DataCols.count-2
                Dim dc = dr.DataTable.DataCols(i)
                If dc.caption = cdate(cdr("日期")).day Then
                    dr(dc.name) = 1
                End If
            Next
        Next
    Next


[此贴子已经被作者于2018/10/11 15:15:38编辑过]

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


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/10/11 16:00:00 [显示全部帖子]

哦, 我是这样改的, 

         For Each cdr As DataRow In dt.Select( "休息人员='" & dr("姓名") & "'" Or "休息人员' Like '%," & dr("姓名") & ",%'"  Or "休息人员' like '%," & dr("姓名") & ",%'" Or "休息人员' like '" & dr("姓名") & ",%'")


错误提示: 从字符串“休息人员='小王'”到类型“Long”的转换无效。

 回到顶部
总数 11 1 2 下一页