以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这个数据运用如何实现?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130371)

--  作者:18651810926
--  发布时间:2019/1/20 12:30:00
--  这个数据运用如何实现?

此主题相关图片如下:000000000001.png
按此在新窗口浏览图片
大神,想实现这个功能,代码应该如何写啊?
例如表2中的工号18的课程时长引用表1中工号18的总课程时长(两个课程时长的合计数),表1中的课程时长按不同工号合计,哪怕是再加新数据,也会自动变化。
此主题相关图片如下:0000000000002.png
按此在新窗口浏览图片
[此贴子已经被作者于2019/1/20 12:32:24编辑过]

--  作者:18651810926
--  发布时间:2019/1/20 14:23:00
--  
谁知道如何实现啊,给点建议啊,谢谢
--  作者:y2287958
--  发布时间:2019/1/20 17:28:00
--  
直接上个实例不好吗
--  作者:rjh4078
--  发布时间:2019/1/20 19:19:00
--  
表1 datacolchanged事件中

select e.datacol.name
case "工号",“课程时长”
dim dr as datarow=datatables("表2").find("工号=’" & e.datarow("工号") & “‘”)
if dr isnot nothing then
dr("授课时长")=e.datatable.Compute("sum(课程时长)",“工号=‘” & e.datarow("工号") & "\'")
endif
end select

然后重置下表1工号列或课程时长列


--  作者:18651810926
--  发布时间:2019/1/20 19:34:00
--  
谢谢,真的搞定了,我再研究一下代码,学习学习
--  作者:18651810926
--  发布时间:2019/1/21 9:45:00
--  每次重置工号,就会再次添加重复数据,怎么破?

图片点击可在新窗口打开查看此主题相关图片如下:000000000000009.png
图片点击可在新窗口打开查看
Select Case e.DataCol.name
    Case "工号"
        Dim dr As DataRow = DataTables("学员资料").Find("姓名= \'" & e.OldValue & "\'")
        If dr Is Nothing Then
            dr = DataTables("学员资料").AddNew()
            dr("姓名") = e.DataRow("姓名")
            dr("工号") = e.DataRow("工号")
            dr("性别") = e.DataRow("性别")
            dr("生日") = e.DataRow("生日")
            dr("年龄") = e.DataRow("年龄")
            dr("司龄") = e.DataRow("司龄")
            dr("部门") = e.DataRow("部门")
            dr("岗位") = e.DataRow("岗位")
            dr("职级") = e.DataRow("职级")
            dr("学历") = e.DataRow("学历")
            dr("电话") = e.DataRow("电话")
            dr("工作状态") = e.DataRow("工作状态")
            dr("转正日期") = e.DataRow("转正日期")
        Else
            dr("工号") = e.DataRow("工号")
        End If
    Case "性别","工号","生日","年龄","司龄","部门","岗位","职级","学历","电话","工作状态","转正日期"
        Dim dr As DataRow = DataTables("学员资料").Find("工号= \'" & e.DataRow("工号") & "\'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select

--  作者:有点甜
--  发布时间:2019/1/21 10:39:00
--  

 

这段代码没问题,做个例子发上来测试。

 


--  作者:18651810926
--  发布时间:2019/1/21 10:48:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:hr管理系统.zip


--  作者:有点甜
--  发布时间:2019/1/21 11:06:00
--  

改成

 

        Dim dr As DataRow = DataTables("学员资料").Find("工号= \'" & e.OldValue & "\'")