以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]非关联表同步问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=139957)

--  作者:lgj716330
--  发布时间:2019/8/26 15:26:00
--  [求助]非关联表同步问题
我部门档案表的数据从表A关联进来,我在表A的DataRowDeleting事件中写以下代码
Dim dr As DataRow = DataTables("部门档案").Find("部门编号 = \'" & e.DataRow("cdepcode") & "\'")
If dr IsNot Nothing Then
    dr.Delete()
End If

表A删除了某行,然后切换到部门档案表的时候提示以下问题
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2018.10.9.1
错误所在事件:表,部门档案, DataColChanged
详细错误信息:
调用的目标发生了异常。
此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据

--  作者:2900819580
--  发布时间:2019/8/26 15:40:00
--  
DataColChanged  里面的代码错误。
--  作者:有点蓝
--  发布时间:2019/8/26 15:59:00
--  
错误所在事件:表,部门档案, DataColChanged

写了什么代码?

--  作者:lgj716330
--  发布时间:2019/8/26 16:21:00
--  
If e.DataCol.Name = "部门编号" Then 
        Dim dr1,dr2 As DataRow  
        Dim filter1,filter2 As String
        filter1 = "[cdepcode] = \'" & e.NewValue & "\'"
        filter2 = "[部门编号] = \'" & e.NewValue & "\'"
        dr1 = DataTables("bmda").Find(filter1)
        If dr1 Is Nothing Then 
        DataTables("部门档案").DeleteFor(filter2) 
        End If
End If

有这么一段代码,应该是这个影响吧

--  作者:有点蓝
--  发布时间:2019/8/26 16:31:00
--  
那么去掉这段代还有没有问题。
--  作者:lgj716330
--  发布时间:2019/8/26 17:26:00
--  
我的bmda这张表是一张查询表,直接用select 语句生成的,不涉及直接在查询表里删除的问题,那是不是就不应该在DataRowDeleting里写
--  作者:有点蓝
--  发布时间:2019/8/26 17:32:00
--  
没搞懂具体是怎么用的,上传具体实例测试