以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 删除代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132225) |
-- 作者:outcat -- 发布时间:2019/3/17 14:56:00 -- 删除代码 If MessageBox.Show("是否删除?","请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then DataTables("客户发砖明细表").SQLDeleteFor("发砖单号 = \'" & Tables("客户发砖总表").Current("发砖单号") & "\'") Tables("客户发砖明细表").Current("实发数量") = 0 Tables("客户发砖明细表").Current.Delete Tables("客户发砖总表").Current.Delete DataTables("客户发砖总表").save DataTables("客户发砖明细表").save End If End If End If 老师,我这红色代码怎么修改呀,这个明细表只有一条的时候正确,可是明细表有多条的时候就不行了,请老师赐教
|
-- 作者:有点蓝 -- 发布时间:2019/3/18 9:33:00 -- 请贴出完整的代码 |
-- 作者:有点甜 -- 发布时间:2019/3/18 10:37:00 -- 参考
http://www.foxtable.com/help/topics/0599.htm
|
-- 作者:outcat -- 发布时间:2019/3/18 11:17:00 -- If Tables("出货单总表").Current IsNot Nothing Then Dim r As Row = Tables("出货单总表").Current Dim drd As DataRow = DataTables("订货单总表").Find("票号=\'" & r("订货票号") & "\'") If drd("发货完毕") = True MessageBox.Show("该客户已发货完毕,不需要修改数据","请确认") Return Else If MessageBox.Show("是否删除?","请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then For Each dr As DataRow In DataTables("出货单明细表").DataRows dr("票号") = Tables("出货单总表").Current("票号") dr("出货数量") = 0 Next DataTables("出货单明细表").SQLDeleteFor("票号 = \'" & Tables("出货单总表").Current("票号") & "\'") Tables("出货单总表").Current.Delete DataTables("出货单总表").save DataTables("出货单明细表").save End If End If End If 老师,我这要实现,出货单是从订单表导入过来的,但不一定该订单就全部出货完毕,当出货单录入错误了,我要删除该出货单,同时订单数据恢复到出货前的数据,当订单表只有一条数据时正确,当出货明细多条记录时,也就是,想删除前,把所有的订单明细出货数量,修改为0.就写不对了,请老师指点 [此贴子已经被作者于2019/3/18 11:18:58编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/3/18 11:28:00 -- 参考
http://www.foxtable.com/help/topics/0599.htm
|
-- 作者:outcat -- 发布时间:2019/3/18 13:04:00 -- 老师,这个是循环删除,这个删除我原来的代码可以实现,可现在是,我要在删除每一行以前,这行的 “出货数量 =0 写不出来” |
-- 作者:有点甜 -- 发布时间:2019/3/18 17:57:00 -- 没看懂你的意思,你这样做的目的是什么?
做个例子发上来测试。 |