以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  MainTable一词不能放在窗口AfterLoad中吗?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=30245)

--  作者:e-png
--  发布时间:2013/3/23 19:38:00
--  MainTable一词不能放在窗口AfterLoad中吗?

Dim cl As String
For Each c As col In MainTable.cols
   \' cl = cl & c.name & "|"
Next

上面代码放在afterload中,启动项目时就报错,如何避免?
注意:窗口是设置为自动打开时

[此贴子已经被作者于2013-3-26 12:38:28编辑过]

--  作者:unverse
--  发布时间:2013/3/23 20:03:00
--  

这个一般是放在表切换事件中用吧。没有这么用的吧。aftterload一般是加载当前窗口的数据,或者控件设置控件的一些属性用吧。。


--  作者:e-png
--  发布时间:2013/3/24 0:56:00
--  
窗口可以opento了, 窗口中要显示主表(maintable)的列名才有这样的代码... 那有什么好办法吗?
--  作者:程兴刚
--  发布时间:2013/3/24 1:18:00
--  
tables("主表")
--  作者:e-png
--  发布时间:2013/3/24 1:56:00
--  

要任意的一个表...


--  作者:程兴刚
--  发布时间:2013/3/24 2:10:00
--  
您都opento了,就应该知道表名了吧。
--  作者:程兴刚
--  发布时间:2013/3/24 2:15:00
--  

办法是有的:

 

MainTableChanged事件,切换表后将主表名称写入到全局变量:暂定为:Vars("主表名");

窗口的AfterLoad事件代码为:tables(Vars("主表名"))


--  作者:e-png
--  发布时间:2013/3/25 14:16:00
--  

我是用 Try 忽略掉的。。。。

Try

   Dim cl As String
   For Each c As col In MainTable.cols
       cl = cl & c.name & "|"
   Next
Catch ex As Exception


    For Each c As col In Tables("订单").cols  

        cl = cl & c.name & "|"
    Next
End Try


--  作者:e-png
--  发布时间:2013/3/26 11:42:00
--  

程版,你7楼的方法不行。

关键是窗口不能设置成自动打开,否则都会报错。

在afteropenprojiect打开窗口又要指定窗口名称(不希望这样)。

只能用我8楼的办法了, 狐爸看看有没有其他方法。。。


--  作者:e-png
--  发布时间:2013/3/26 12:10:00
--  

用试用版做个上来看看,谢谢。