以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  做了一个考勤表,需要帮助  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=125884)

--  作者:cyrollin
--  发布时间:2018/10/9 10:27:00
--  做了一个考勤表,需要帮助

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

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

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

求助甜甜:),谢谢!

--  作者:cyrollin
--  发布时间:2018/10/9 10:29:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


这是实例

--  作者:有点甜
--  发布时间:2018/10/9 11:04:00
--  
Dim d As Date = "2018-10-01"
Dim filter As String = "日期 >= #" & d & "# and 日期 < #" & d.AddMonths(1) & "#"
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(filter & " and 休息人员=\'" & 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

--  作者:cyrollin
--  发布时间:2018/10/9 11:15:00
--  
点选单选框 “本月查询”, foxtable自动退出了。。。。。

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

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

--  作者:有点甜
--  发布时间:2018/10/9 11:34:00
--  

1、代码不要写到datacolchanged事件;写到按钮里面执行。

 

2、动态赋值,参考

 

http://www.foxtable.com/webhelp/scr/2720.htm

 

http://www.foxtable.com/webhelp/scr/1337.htm

 


--  作者:cyrollin
--  发布时间: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编辑过]

--  作者:有点甜
--  发布时间:2018/10/9 12:26:00
--  

代码不要写到datacolchanged事件啊,不要啊。

 

代码写到按钮里面执行啊。

 


--  作者:cyrollin
--  发布时间:2018/10/10 9:44:00
--  
我放到按钮里面了,运行时自动退出了。

单选 “本月查询”

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


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

--  作者:有点甜
--  发布时间:2018/10/10 9:52:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:cyrollin
--  发布时间:2018/10/11 9:29:00
--  
111
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


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