以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 自动添加 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=93855) |
||||
-- 作者:zhangning -- 发布时间:2016/12/8 16:38:00 -- 自动添加
开发者 qdkf 想要达到的效果是:每个月中在“PEQ数据”或“手动工时”出现的作业者都自动在“绩效工时统计”表里新增加行, 并将“作业者”列填充 比如: 2016年10月,在“PEQ数据” 表里 出现了 A 和B C 三人, 在“手动工时”表里 出现了 B 和D 两个人, 自动在“绩效工时统计”表里增加四行,在“月度”列里显示“2016年10月”, 在"作业者”列里显示A B C D 的名字, 请老师帮帮忙,看看怎么能实现, 是菜鸟,最好能帮帮谢谢代码,谢谢!
|
||||
-- 作者:zhangning -- 发布时间:2016/12/8 16:39:00 -- 同月里,作业者是唯一的,不能重复 |
||||
-- 作者:有点蓝 -- 发布时间:2016/12/8 16:50:00 -- “手动工时”表DataColChanged事件 If e.DataCol.Name = "作业者" Then If e.NewValue IsNot Nothing Then Dim dr As DataRow Dim yuedu As String = Format(Date.Today,"yyyy年MM月") dr = DataTables("绩效工时统计").Find("[作业者] = \'" & e.NewValue & "\' and 月度 = \'" & yuedu & "\'") If dr Is Nothing Then dr = DataTables("绩效工时统计").AddNew() dr("作业者") = e.DataRow("作业者") dr("月度") = yuedu End If End If End If |
||||
-- 作者:zhangning -- 发布时间:2016/12/9 8:39:00 -- 谢谢老师,试运行了一下, Dim yuedu As String = Format(Date.Today,"yyyy年MM月") 不是today,而是“作业日期”列 这样的话,是 #作业日期# 吗?
|
||||
-- 作者:有点蓝 -- 发布时间:2016/12/9 8:44:00 -- Format( e.DataRow("作业日期"),"yyyy年MM月") |
||||
-- 作者:zhangning -- 发布时间:2016/12/9 9:43:00 -- 数据出来了,谢谢老师, 还有一个问题,如果我将“PEQ数据”和“手动工时”里的一些记录删除后,如图,将除了李闯外的名字的相应记录都删除后, 但“绩效工时统计”里还留着,不应该还在,应该相应变化,请老师帮看看哪里有问题,谢谢! |
||||
-- 作者:zhangning -- 发布时间:2016/12/9 9:45:00 -- 在项目属性里也添加了 重置代码 了,但还是出现楼上问题 If MainTable.Name = "PEQ数据" Then DataTables("PEQ数据").DataCols("作业者").RaiseDataColChanged() End If If MainTable.Name = "手动工时" Then DataTables("手动工时").DataCols("作业者").RaiseDataColChanged() End If |
||||
-- 作者:有点蓝 -- 发布时间:2016/12/9 9:58:00 -- DataRowDeleting事件,find到对应的行,然后删除 |
||||
-- 作者:zhangning -- 发布时间:2016/12/9 13:18:00 -- 老师,我的意思没有说明白 是这样的,在“PEQ数据”或“手动工时”里,以月度为单位, 如新出现的作业者名字,就增加到“绩效工时统计”表里, 这部分的功能已经能实现了 如在“PEQ数据”或“手动工时”里删除了记录, 就新判定一下剩余的记录,仅仅将剩余记录相对应的作业者姓名体现到“绩效工时统计”表里, 如楼上图片中,我在 “PEQ数据”或“手动工时” 已经删掉了 王和于的记录, 但 “绩效工时统计” 还存在着 王和于的记录,没有更新, 这部分的功能还没有实现,请老师帮帮忙,谢谢!
|
||||
-- 作者:有点蓝 -- 发布时间:2016/12/9 14:17:00 -- 就是8楼的用法 |