Foxtable(狐表)用户栏目专家坐堂 → 删除出错


  共有1316人关注过本帖树形打印复制链接

主题:删除出错

帅哥哟,离线,有人找我吗?
lin98
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1065 积分:7055 威望:0 精华:0 注册:2020/11/4 22:15:00
删除出错  发帖心情 Post By:2023/7/5 13:10:00 [只看该作者]

If Tables("表E").Current IsNot Nothing Then
    '判断用户单击了哪个按钮:
    Dim Result As DialogResult
    Result = MessageBox.Show("注意!!!删除后,数据不可恢复,是不是删除?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        Tables("表E").Current.Delete
'        DataTables("表F").Delete
''        Tables("表F").Current.Delete

For Each r As Row In Tables("表F").Rows
    r.Delete
Next
        MessageBox.Show("删除成功!", "提示")
    Else
        MessageBox.Show("已取消删除!", "提示")
    End If
End If

模拟关联,表E(主表)和表F(明细)模拟关联,不做下图的步骤,执行上面删除代码,无法实现同步删除,如何实现同步删除?

图片点击可在新窗口打开查看

用下面代码,主表删除一条,明细删除一条,实际明细有10条,只删除一条,还有9条,会造成数据不一致
        Tables("表E").Current.Delete
        Tables("表F").Current.Delete


用下面代码,主表删除一条,明细删除10条,实际明细有10条,还把上个明细表的一条也删除,会造成数据不一致
        Tables("表E").Current.Delete
For Each r As Row In Tables("表F").Rows
    r.Delete
Next






 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/7/5 13:34:00 [只看该作者]

dim r as row = Tables("表E").Current
DataTables("表F").deletefor("产品编号='" & r("产品编号") & "'")
r.delete

[此贴子已经被作者于2023/7/5 14:30:36编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
SbFox
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:71 积分:479 威望:0 精华:0 注册:2021/12/11 14:20:00
  发帖心情 Post By:2023/7/5 14:05:00 [只看该作者]

dim r as row = Tables("表E").Current
DataTables("表F").deletefor("产品编号='" & r("产品编号") & "'")
r.delete

 回到顶部