我有一个订单表,希望删除订单的子表行后,对应的申请单的子表行已订购数量同步变为0,下面是代码:问题是,我需要先将订单后的子表清零后,关掉当前的窗体,这时申请单对应的子表行已订购数量变为0,再打开删除数量为0的子表行才可以
如果直接删除订单的子表行,或者将订单的子表行清零后,删除订单的子表行,关闭当前窗体,对应的申请单的子表行已订购数量并不会变为0.
不知道原因
(因为一个申请单的子表行可能分成几个订单,所以需要有一个sum的过程)
If Tables("pomain.posub").Current IsNot Nothing
If MessageBox.Show("是否清零?","请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then
Tables("pomain.posub").Current("数量") = 0
Dim Val As Integer
Val = DataTables("posub").SQLCompute("Sum(数量)","申请单子表标识 = '"& tables("posub").Current("申请单子表标识") &"'")
Dim dr As DataRow = DataTables("prsub").find("pr子表标识 = '" & Tables("posub").Current("申请单子表标识") & "' ")
If dr IsNot Nothing Then
dr("订单数量") = Val
DataTables("posub").Save()
End If
' Tables("pomain.posub").Current.Delete (还不能马上删除清零的行,要先关闭下当前窗体,再打开这个窗体然后删除)
End If
End If
DataTables("posub").Save()
Tables("pomain").AllowEdit = False
Tables("posub").AllowEdit = False
e.Form.Close ‘----一定要关闭下当前窗体才可以
[此贴子已经被作者于2016/7/23 22:48:40编辑过]