以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  建议增加离开当前主表之前事件!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1690)

--  作者:程兴刚
--  发布时间:2009/1/28 9:48:00
--  建议增加离开当前主表之前事件!
帮助原文:

示例二

我们知道项目事件MainTableChanged并没有e参数,因此我们只能通过系统变量MainTable获得当前的主表,但是有的时候我们要求知道是从哪一个主表切换到当前主表的。
解决此问题的代码非常简单,请参考下面的MainTableChanged事件代码:

Static Prev As String
Messagebox.Show(
"上一个主表: " & Prev & " | 当前主表: " & MainTable.Name)
Prev =
MainTable
.Name

每次切换主表,都会显示上一个主表和当前主表的名称,然后将当前主表的名称保存在静态变量Prev中,以便下次调用。

是不是在首次切换的时候不能显示上一个主表的名称?

由此可见,需要一个BeforeExitMainTable事件(找不到离开当前主表时执行的事件,用于表验证代码的执行,所以希望增加),用于在离开当前主表之前执行,这样的话,在这个事件中写入代码:
 

Static Prev As String
Prev =
MainTable
.Name


MainTableChanged事件代码改为:

Messagebox.Show("上一个主表: " & Prev & " | 当前主表: " & MainTable.Name)

这样的事件执行代码更为严谨!

[此贴子已经被作者于2009-1-28 9:54:45编辑过]

--  作者:程兴刚
--  发布时间:2009/1/28 9:49:00
--  
这个事件如果增加了,大有用处,不知道是否已有,我暂时没有找到!
--  作者:czy
--  发布时间:2009/1/28 14:05:00
--  
如果想显示第一次进入的表倒是可以实现。
其它的离开表的验证俺就不知道了。
--  作者:程兴刚
--  发布时间:2009/1/28 14:39:00
--  
以下是引用czy在2009-1-28 14:05:00的发言:
如果想显示第一次进入的表倒是可以实现。
其它的离开表的验证俺就不知道了。

实现是可以,通过项目属性的事件代码也可以,只是想要离开当前主表的执行事件!


--  作者:狐狸爸爸
--  发布时间:2009/2/1 9:31:00
--  

1、呵呵,离开主表的验证好解决,发现不对头,强行:

Maintable = Tables("表名")

但是可能会带来闪烁,所以最好是按老程说的加一个事件

2、至于老程说的想要离开当前主表的执行事件,现在MainTableChanged就是这样的啊。


--  作者:程兴刚
--  发布时间:2009/2/1 9:52:00
--  
以下是引用hnaysx在2009-2-1 9:37:00的发言:

典型的易表风格,干嘛不表和窗体分离? 表就是仅仅显示就OK了



 这倒是无所谓,需要的就是这种创新,否则就不叫狐表了,也没有易表、狐表了!


--  作者:ybil
--  发布时间:2009/2/1 15:34:00
--  

MainTableChanged一樣可以實現易表的表驗證.