以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助][原创]  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140574)

--  作者:mondayboy2019
--  发布时间:2019/9/9 11:27:00
--  [求助][原创]
麻烦大神帮忙看看,我在主表“人员信息”中删除数据后,关联表“实有并行”的数据不自动更新!求大神看看哪里出现问题了!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:有点蓝
--  发布时间:2019/9/9 11:52:00
--  
在DataRowDeleted事件调用RaiseDataColChanged重置列
--  作者:mondayboy2019
--  发布时间:2019/9/9 12:26:00
--  
大神你好,删除的问题解决了,万分感谢!
还有一个问题需要再次麻烦你。我在主表“人员信息”中修改列“职级并行”,关联表“实有并行”统计的数据没有同步
(例如:我修改列“职级并行”为一级调研员,就统计1个一级调研员,如果再次修改此人的信息列“职级并行”为二级调研员,就会统计1个二级调研员,表中实际会显示一级调研员1个,二级调研员1个。而我的想法是只显示最后修改的1个二级调研员)。像这个问题应该如何解决?

--  作者:有点蓝
--  发布时间:2019/9/9 13:41:00
--  
“实有并行”datacolchanged

Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("人员信息")
Dim de As DataTable =DataTables("人员信息")
If e.DataCol.Name = "单位"
    For Each dc As DataCol In e.DataTable.DataCols
        Dim cnt As Integer = 0
        If dc.Name.StartsWith("实有职级_") Then
            cnt  = dt.Compute("Count(姓名)", "单位=\'" & e.NewValue & "\' And 职级并行 = \'" & dc.Name.Split("_")(1) & "\'")
            If cnt > 0 Then
                dr(dc.Name) = cnt
            Else
                dr(dc.Name) = Nothing
            End If
        ElseIf dc.Name.StartsWith("实配职数_") Then
            cnt  = de.Compute("Count(姓名)", "单位=\'" & e.NewValue & "\' And 单位正副职 = \'" & dc.Name.Split("_")(1) & "\'")
            If cnt > 0 Then
                dr(dc.Name) = cnt
            Else
                dr(dc.Name) = Nothing
            End If
        End If
    Next
End If

--  作者:mondayboy2019
--  发布时间:2019/9/9 14:06:00
--  
感谢大神!