以文本方式查看主题

-  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=177235)

--  作者:weijun
--  发布时间:2022/5/13 15:51:00
--  保存退出

退出按钮,数据有过保存直接退出不删除当前数据,不需要保存数据退出时删除当前父表子表明细表的数据的代码

有过保存的操作代码怎么写

 

If MessageBox.Show("退出吗?", "提示!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
   
    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
   
End If
e.Form.Close

 

 


--  作者:有点蓝
--  发布时间:2022/5/13 16:03:00
--  

--  作者:weijun
--  发布时间:2022/5/13 21:55:00
--  

If DataTables("入库明细").HasChanges = False And Tables("入库明细").rows.count = 0 Then
    MessageBox.Show("是否退出!", "提醒")
    If Tables("入库明细").Current IsNot Nothing Then
        DataTables("入库明细码单").DeleteFor("[入库明细单号] =\'" & Tables("入库明细").current("入库明细单号") & "\'")
        Tables("入库明细").Current.Delete
    End If     
    If Tables("入库").Current IsNot Nothing Then \'       
        DataTables("入库明细").DeleteFor("[入库单号] =\'" & Tables("入库").current("入库单号") & "\'")
        Tables("入库").Current.Delete   
    ElseIf DataTables("入库").HasChanges = True And Tables("入库明细").rows.count = 0 Then
        If Tables("入库明细").Current IsNot Nothing Then
            DataTables("入库明细码单").DeleteFor("[入库明细单号] =\'" & Tables("入库明细").current("入库明细单号") & "\'")
            Tables("入库明细").Current.Delete
        End If
        If Tables("入库").Current IsNot Nothing Then \'       
            DataTables("入库明细").DeleteFor("[入库单号] =\'" & Tables("入库").current("入库单号") & "\'")
            Tables("入库").Current.Delete       
        End If
    End If
End If
e.Form.Close

 

请老师帮看下代码可以精简不?


--  作者:有点蓝
--  发布时间:2022/5/14 8:53:00
--  
没看懂,解释一下这个代码需要实现什么功能?
--  作者:weijun
--  发布时间:2022/5/14 10:48:00
--  

打开入库窗口,入库表已经自动填写了入库单号日期  我不想编辑了直接退出,不要数据保存,或者入库表入库明细表都输了数据,我想退出是不要数据保存。


--  作者:有点蓝
--  发布时间:2022/5/14 11:13:00
--  
If DataTables("入库").HasChanges Then
    If 
MessageBox.Show("未保存数据将撤销
,确定退出?""提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
DataTables("入库明细码单").RejectChanges()
DataTables("入库明细").RejectChanges()
        DataTables
("
入库").RejectChanges()
    End If
End
 
If