以文本方式查看主题

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

--  作者:lesliecheung912
--  发布时间:2015/9/8 15:08:00
--  关联表的逻辑列问题
现在将关联表加到窗口中,要进行反审核,将总表和明细表的审核列(逻辑列)的勾去掉,
但在明细表里去勾的时候不能一次性去完成(明细表有多条数据),只有一部分的勾去掉了,要多次执行才会最终将逻辑勾去掉。
代码如下:
Dim st As DialogResult
st = MessageBox.Show("确定要反审核吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If st = DialogResult.Yes Then
    For Each dr As Row In Tables("订单总表.订单明细表").Rows
        dr("收货") = 0
        dr.save()
    Next
    forms("保存").open
    Tables("二级总表").Current("审核") = 0
    DataTables("二级总表").Save()
    forms("保存").close
End If
审核时却能一次性将逻辑勾打上,代码如下:
Dim st As DialogResult
st = MessageBox.Show("确定要审核吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If st = DialogResult.Yes Then
    For Each dr As Row In Tables("二级总表.二级订单明细表").Rows
        dr("收货") = 1
        dr.Save()
    Next
    forms("保存").open
    Tables("二级总表").Current("审核") = 1
    DataTables("二级总表").Save()
    forms("保存").close
End If
请大神看一下是什么原因啊,感谢!

--  作者:大红袍
--  发布时间:2015/9/8 15:16:00
--  

是不是你的收货是关联列?

 

代码没问题肯定有其它代码影响了,如datacolchanged事件等。

 

例子发上来