以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数据加载与保存的冲突如何解决  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88432)

--  作者:凡夫俗子
--  发布时间:2016/8/2 21:29:00
--  数据加载与保存的冲突如何解决
一主表与明细表构成的关联表结构

现在希望 在主表的 CurrentChanged 切换事件中 加载明细表对应 的数据
DataTables("测试明细表").LoadFilter = "Sys_FaId = " & Tables("测试主表").Current("Sys_FaId")
DataTables("测试明细表").Load

但这样带来一个问题

在主表第一行录入主数据
在明细表录入明细数据,当光标切换到主表后,必须触发主表的CurrentChanged事件,导致系统自动加载该主表的对应明细表数据
但一执行加载明细表数据,导致 明细表数据 被先保存,然后再加载,这就违反了一个原则,非经用户主动操作 就保存了数据。

如何规避其中的逻辑

--  作者:xvkewen
--  发布时间:2016/8/3 8:08:00
--  
这里可能会有两个问题 1,假如后台数据量大的话,用filter显示的明细数据可能会不完整,除非一开始就把后台的明细数据全部加载进来,到这会影响程序的运行速度. 2,既然是关联表,切换主表行的时候,子表也会自动根据关联字段显示相应的内容。 我觉得在currentchanged事件中添加判断语句,判断明细表的数据状态加以处理后在切换主表的行。
--  作者:大红袍
--  发布时间:2016/8/3 9:32:00
--  
 加一个询问呗,比如 “明细表的数据有更新,是否保存重新加载数据”