以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何解决删除行报错的问题?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158656)

--  作者:老鼠
--  发布时间:2020/11/28 0:23:00
--  如何解决删除行报错的问题?


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
这是报错窗口提示!

 

下面是错误提示窗口指向的代码: 

 

工资异动_DataRowDeleted

 

Dim Filter As String = "[公民身份号码] = \'" & e.DataRow("公民身份号码") & "\'"

Dim dr As DataRow = DataTables("基本数据").Find(Filter)

If dr IsNot Nothing Then

    DataTables("基本数据").DataCols("公民身份号码").RaiseDataColChanged(dr)

End If

 

该代码是同代码: 

基本数据_DataColChanged

 

If e.DataCol.Name = "公民身份号码"

    Dim Filter As String = "[公民身份号码] = \'" & e.DataRow("公民身份号码") & "\'"

    Dim dr As DataRow = DataTables("工资异动").Find(Filter,"执行日期 desc")

    If dr IsNot Nothing Then

        e.DataRow("职务岗位等级") = dr("现聘职务岗位")

    End If

End If

 

 

工资异动_DataColChanged

 

If e.DataCol.Name = "现聘职务岗位" OrElse e.DataCol.Name = "执行日期"

    Dim Filter As String = "[公民身份号码] = \'" & e.DataRow("公民身份号码") & "\'"

    Dim dr As DataRow = DataTables("基本数据").Find(Filter)

    If dr IsNot Nothing Then

        DataTables("基本数据").DataCols("公民身份号码").RaiseDataColChanged(dr)

    End If

End If

 

共同使用的,其目的是为了【基本数据】表中的“职务岗位等级”列的内容能根据【工资异动】表中的“现聘职务岗位”自动更新,更新条件是:执行日期。

 

请各位老师指点。如何才能解决删除行不报错的问题?

[此贴子已经被作者于2020/11/28 0:26:24编辑过]

--  作者:有点蓝
--  发布时间:2020/11/28 9:13:00
--  
DataRowDeleted代码放到DataRowDeleting事件