以文本方式查看主题

-  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的本来数据。

因为程序比较多,仅以这个作为示例提出,并不表示真的这么简单。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:窗口加载的时候自动执行一次cuurentchange事件.zip



--  作者:狐狸爸爸
--  发布时间:2014/3/6 12:51:00
--  

参考:

http://www.foxtable.com/help/topics/2367.htm

 


--  作者:chnfo
--  发布时间:2014/3/6 13:43:00
--  
我自己试了几盘都达不到效果,是何问题?看了帮助,写法一样啊
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:窗口加载的时候自动执行一次cuurentchange事件.rar


--  作者: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()  这个更加简单