以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求:删除“积分兑换明细”表中的记录,客户资料表和积分礼品表中相关字段值应该相应调整,怎么实现? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=55660) |
||||
-- 作者:ahbrq -- 发布时间:2014/8/20 23:44:00 -- [求:删除“积分兑换明细”表中的记录,客户资料表和积分礼品表中相关字段值应该相应调整,怎么实现? [求:删除“积分兑换明细”表中的记录,客户资料表(兑换积分和剩余积分)和积分礼品表中“已使用”和“实际库存”相关字段值应该相应调整,怎么实现? |
||||
-- 作者:Bin -- 发布时间:2014/8/21 8:32:00 -- 你想怎么调整? |
||||
-- 作者:有点甜 -- 发布时间:2014/8/21 9:13:00 -- 简单一点的话,你在删除事件DataRowDeleted加入代码重置列。
http://www.foxtable.com/help/topics/1587.htm
|
||||
-- 作者:ahbrq -- 发布时间:2014/8/21 21:47:00 -- 例如:在“积分兑换明细”表中,发现牛勇这行不对,把该行删除了,那么:“客户资料”表中的“兑换积分”和“剩余积分”就要变化;同时“积分礼品”表中
的“电脑包”“已使用”和“库存”也要发生变化。如何实现呢? |
||||
-- 作者:有点甜 -- 发布时间:2014/8/21 21:50:00 -- 重置列不行?重新计算。
不会做,就请上传例子说明问题。 |
||||
-- 作者:ahbrq -- 发布时间:2014/8/21 22:03:00 -- 上传例子大于2046K不可以,怎么办?
我在“积分兑换明细”表的datarowdeleted时间中加入以下代码:
DataTables("客户资料").DataCols("兑换积分").RaiseDataColChanged() DataTables("客户资料").DataCols("剩余积分").RaiseDataColChanged() DataTables("积分礼品").DataCols("已使用").RaiseDataColChanged() DataTables("积分礼品").DataCols("实际库存").RaiseDataColChanged()
目的就是重置相关数据表的相关列,但是操作没有效果。什么原因?
[此贴子已经被作者于2014-8-21 22:23:36编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2014/8/21 22:04:00 -- 如果重置列不行,就是原本写的代码不规范,例子发上来。 |
||||
-- 作者:ahbrq -- 发布时间:2014/8/26 21:01:00 -- 例子上传了,请高手指点 |
||||
-- 作者:有点甜 -- 发布时间:2014/8/26 21:13:00 -- DataRowDeleting事件,代码
Dim fdr As DataRow = DataTables("积分礼品").Find("礼品名称 = \'" & e.DataRow("礼品名称") & "\'") fdr = DataTables("客户资料").Find("客户名称 = \'" & e.DataRow("客户名称") & "\'") |
||||
-- 作者:ahbrq -- 发布时间:2014/8/26 21:33:00 -- 为什么在DATAROWDELETING 里可以,在DATAROWDELETED中就出错呢?
代码应该是:
Dim fdr As DataRow = DataTables("积分礼品").Find("礼品名称 = \'" & e.DataRow("礼品名称") & "\'") fdr = DataTables("客户资料").Find("客户名称 = \'" & e.DataRow("客户名称") & "\' and 身份证号码 = \'" & e.DataRow("身份证号码") & "\' ")
对么? |