以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动添加  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93855)

--  作者:zhangning
--  发布时间:2016/12/8 16:38:00
--  自动添加
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:绩效工时.rar

开发者 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数据”和“手动工时”里的一些记录删除后,如图,将除了李闯外的名字的相应记录都删除后,
但“绩效工时统计”里还留着,不应该还在,应该相应变化,请老师帮看看哪里有问题,谢谢!

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



--  作者: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楼的用法