以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  保存顺序的问题?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42169)

--  作者:zpx_2012
--  发布时间:2013/11/5 19:55:00
--  保存顺序的问题?
在全局表事件beforesavedatarow中写了代码,出现一个不确定的情况 ,相同的代码相同的一张有主表和明细表的表单,分几次新增行保存时,发现有时是主表行先保存,有时又是子表行先保存,如何才能实现有主子表的表单,不管鼠标的焦点在哪里,保存时一定先保存主表行,然后才能保存子表的明细行?

谢谢!

--  作者:有点甜
--  发布时间:2013/11/5 20:10:00
--  
 这个事件的触发是随机的,执行了哪个表的Tables("xxx").save就先保存哪个表的。

 你可以这样写代码:1、一个标识变量,存储父表是否已经保存;2、如果是子表,e.canel;如果是父表,父表.save,改变变量的值,同时子表.save

--  作者:zpx_2012
--  发布时间:2013/11/5 20:50:00
--  
谢谢有点甜,那怎样判断一个表是否已经保存了,只能用 HasChanges来判断了吧?
--  作者:有点甜
--  发布时间:2013/11/5 21:07:00
--  
 好像不需要判断是否保存完吧。我也不清楚,你实践下先

 比如 

if flag then
    datatables("子表").save
else
    datatables("父表").save()
    flag = true
end if

--  作者:zpx_2012
--  发布时间:2013/11/5 21:22:00
--  
谢谢,已经可以了。