以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]如何在加载窗口之后在SQLTable中自动执行一次类似Currentchange事件 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=47207) |
||||
-- 作者:chnfo -- 发布时间:2014/3/6 12:45:00 -- [求助]如何在加载窗口之后在SQLTable中自动执行一次类似Currentchange事件 本意是这样的: 在表A中的第一列打开窗口1 此时,加载窗口的table1(绑定表B),加载窗口的table2(是SQLtable) 问题: 希望一打开窗口1加载table2时根据table1的默认行的条件自动更新数据, 而不是真正切行table1的行时才执行更新。因为如果只有一行的话,是看不到真正想看的数据的;如果有两行以上,切换时就可以看到真正的效果。 也就是说,一打开窗口1的page2 1、如果table1表中有行数据,那么table2表中就应当显示更新数据。例如table1的date列如果>2014-1-1,那么table2表中的A列值都显示为1,否则显示为0 2、如果table1表中没有行数据,那么table2表中显示的数据就是fill的本来数据。 因为程序比较多,仅以这个作为示例提出,并不表示真的这么简单。
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2014/3/6 12:51:00 -- 参考: http://www.foxtable.com/help/topics/2367.htm
|
||||
-- 作者:chnfo -- 发布时间:2014/3/6 13:43:00 -- 我自己试了几盘都达不到效果,是何问题?看了帮助,写法一样啊
|
||||
-- 作者:Bin -- 发布时间:2014/3/6 14:16:00 -- 代码修改一下放到窗口AlterLoad事件 If Forms("窗口1").Opened Then Dim t As Table = Tables("窗口1_Table2") If t.Cols.Contains("A") = False Then Return End If If Tables("表B").Current IsNot Nothing Then If Tables("表B").Current("Date") < # 01/01/2014 # Then For Each r As Row In t.Rows r("A") = 0 Next Else For Each r As Row In t.Rows r("A") = 1 Next End If End If End If |
||||
-- 作者:Bin -- 发布时间:2014/3/6 14:17:00 -- Tables("表B").RaiseCurrentChanged() 这个更加简单 |