Foxtable(狐表)用户栏目专家坐堂 → MainTable一词不能放在窗口AfterLoad中吗?


  共有8167人关注过本帖树形打印复制链接

主题:MainTable一词不能放在窗口AfterLoad中吗?

帅哥哟,离线,有人找我吗?
e-png
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/3/26 12:10:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/3/26 12:14:00 [只看该作者]

既然是afteropenprojiect事件,每次打开的是第一个表,是哪个表很清楚,何必非得绕弯路!

 回到顶部
帅哥哟,离线,有人找我吗?
e-png
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/3/26 12:34:00 [只看该作者]

按你那样做已经是绕弯路,我1楼的问题只是想在窗口(设置成自动打开)中遍历一下当前表的所有列名而已啊,你教我用全局变量的呀。


 回到顶部
帅哥哟,离线,有人找我吗?
muhua
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/3/26 15:00:00 [只看该作者]

用户已被锁定

 回到顶部
帅哥哟,离线,有人找我吗?
FoxMan
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:302 积分:1860 威望:0 精华:0 注册:2012/4/27 11:34:00
  发帖心情 Post By:2013/3/26 15:08:00 [只看该作者]

沒用!打開項目報錯:空對象,這個空對象應該就是MainTable(如項目已打開,重新打開窗口沒問題)

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

MessageBox.Show(cl)

 回到顶部
帅哥哟,离线,有人找我吗?
e-png
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/3/26 16:18:00 [只看该作者]

以下是引用muhua在2013-3-26 15:00:00的发言:
 下载信息  [文件大小:292.0 KB  下载次数:1]
图片点击可在新窗口打开查看点击浏览该文件:管理项目17.table

退出后,重启就出错了。 光这样空循环就会出错:

 

For Each c As col In MainTable.cols
   
Next

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/26 16:24:00 [只看该作者]

加个判断算了:

 


If MainTable IsNot Nothing Then
    Dim cl As String
    For Each c As col In MainTable.cols
        cl = cl & c.name & "|"
    Next
    e.Form.Controls("Label1").Text = cl
End If

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
e-png
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/3/26 17:23:00 [只看该作者]

谢谢狐爸,不报错了,但也不能赋值。 还是用8楼的可以。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/26 17:27:00 [只看该作者]

这样好点:

 

Dim t As Table = MainTable
If  t Is Nothing Then
    t = Tables("默认表")
End If
Dim cl As String
For Each c As col In t.cols
    cl = cl & c.name & "|"
Next
e.Form.Controls("Label1").Text = cl


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/3/26 17:39:00 [只看该作者]

最简单的办法,关闭自动打开,项目属性的切换主表后执行事件判断该窗口是否打开,否,opento(独立窗口直接open即可)打开到当前表,该代码无需判断表名,则应用于所有表,这样,就不会报错了,您原来的报错原因:所用的事件为项目已经打开,datatable和窗口已经生成,但table并未生成,引用当前主表(table)当然出错!

 回到顶部
总数 22 上一页 1 2 3 下一页