以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关联单据删除  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=184888)

--  作者:青丘狐
--  发布时间:2023/1/12 22:56:00
--  关联单据删除
If Tables("入库明细").Current IsNot Nothing Then
    If MessageBox.Show("明细数据删除?", "请确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
        DataTables("入库明细码单").DeleteFor("[入库明细单号] =\'" & Tables("入库明细").current("入库明细单号") & "\'")
        Tables("入库明细").Current.Delete
    End If
End If

If Tables("入库").Current IsNot Nothing Then
    If MessageBox.Show("是否删除整张单据?", "请确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
        DataTables("入库明细").DeleteFor("[入库单号] =\'" & Tables("入库").current("入库单号") & "\'")
        Tables("入库").Current.Delete
    End If
End If

入库  和 入库明细  关联 入库单号  ,入库明细 和 入库明细码单 关联 入库明细单号  删除数据时,入库明细 有2行数据 每行关联 入库明细码单2行数据 ,入库明细码单有4行数据    代码只能删除选中的入库明细单当前行关联的入库明细码单数据,没有把入库明细码单的数据要全部删除,请问代码怎么改
[此贴子已经被作者于2023/1/12 23:05:30编辑过]

--  作者:有点蓝
--  发布时间:2023/1/12 23:08:00
--  
If Tables("入库").Current IsNot Nothing Then
    If Tables("入库明细").Current IsNot Nothing Then
        If MessageBox.Show("明细数据删除?", "请确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
            Dim s As String = DataTables("入库明细").GetComboListString("入库明细单号", "[入库单号] =\'" & Tables("入库").current("入库单号") & "\'")
            DataTables("入库明细码单").DeleteFor("[入库明细单号] in (\'" & s.replace("|", "\',\'") & "\')")
            Tables("入库明细").Current.Delete
        End If
    End If
    If MessageBox.Show("是否删除整张单据?", "请确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
        DataTables("入库明细").DeleteFor("[入库单号] =\'" & Tables("入库").current("入库单号") & "\'")
        Tables("入库").Current.Delete
    End If
End If

--  作者:青丘狐
--  发布时间:2023/1/12 23:10:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:4.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2023/1/12 23:14:47编辑过]

--  作者:青丘狐
--  发布时间:2023/1/12 23:27:00
--  
还是一样只删除了选中的入库明细单当前行关联的入库明细码单数据删除,没有把入库明细码单的数据全部删除,但入库的当前数据  和 入库明细 的显示数据可以全部删除可以达到效果
[此贴子已经被作者于2023/1/12 23:32:07编辑过]

--  作者:青丘狐
--  发布时间:2023/1/12 23:36:00
--  
如果改三个表一起关联同一个字段要好些?可以三个表一起关联入库单号
--  作者:有点蓝
--  发布时间:2023/1/13 8:37:00
--  
截图所有列数据发上来看看
--  作者:weijun
--  发布时间:2023/1/13 14:20:00
--  

 

 

用内部数据库测试可以

 

 


图片点击可在新窗口打开查看此主题相关图片如下:22222.png
图片点击可在新窗口打开查看

--  作者:青丘狐
--  发布时间:2023/1/13 14:44:00
--  


图片点击可在新窗口打开查看此主题相关图片如下:21.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:22.png
图片点击可在新窗口打开查看

 

SQL数据库不行没有删除完,DataTables("入库明细码单").DeleteFor("[入库明细单号] in (\'" & s.replace("|", "\',\'") & "\')") 后台删除吗?


--  作者:有点蓝
--  发布时间:2023/1/13 15:02:00
--  
删除后保存一下表格才起效
--  作者:青丘狐
--  发布时间:2023/1/13 19:58:00
--  
DataTables("入库明细码单").Save()
DataTables("入库明细").Save()
DataTables("入库").Save()

在结尾一直加里了保存还是没有删除赶紧,入库明细码单当前显示的可删除,没有显示的相同入库明细单号应该也要删除,没有删除没有显示的相同入库明细单号