以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  跨表删除  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=89924)

--  作者:yzyend
--  发布时间:2016/9/1 14:46:00
--  跨表删除
采购单:
datacolchanged:

\' 采购单增加记录,同时在应付账款表中
Select Case e.DataCol.name
    Case "采购编号"
        If e.DataCol.Name = "采购编号" AndAlso e.NewValue <> Nothing Then
            Dim fdr As DataRow = DataTables("应付账款表").SQLFind("采购编号 = \'" & e.NewValue & "\'")
            If fdr Is Nothing Then
                fdr = DataTables("应付账款表").AddNew
                fdr("采购编号") = e.DataRow("采购编号")
                fdr("采购日期") = e.DataRow("采购日期")
                fdr("采购单位") = e.DataRow("采购单位")
               fdr.save
             End If
        End If
End Select


采购单:datarowdeleting中
Dim dr As DataRow = DataTables("应付账款表").SQLFind("采购编号 = \'" & e.DataRow("采购编号") & "\'")
If dr IsNot Nothing Then
    dr.Delete()
End If

为什么在采购单中删除记录,应付账款表中 的 该记录还存在?

帮指导一下!



--  作者:狐狸爸爸
--  发布时间:2016/9/1 14:51:00
--  
不应该,做例子发上来
--  作者:有点蓝
--  发布时间:2016/9/1 14:56:00
--  
SQLFind后删除的是后台数据,前台没有刷新的话,记录是还会在的。如果数据存在于前台的,用find就好
--  作者:yzyend
--  发布时间:2016/9/1 15:13:00
--  
我直接  在 SQL 数据库 里查 都有,也就是 前台和后台都有!

删除代码 放在Beforedeletdatarow 也不行!

--  作者:有点蓝
--  发布时间:2016/9/1 15:19:00
--  
Dim dr As DataRow = DataTables("应付账款表").SQLFind("采购编号 = \'" & e.DataRow("采购编号") & "\'")
If dr IsNot Nothing Then
    dr.Delete()
    dr.save
End If

--  作者:yzyend
--  发布时间:2016/9/1 15:32:00
--  
搞定! 多谢!