Foxtable(狐表)用户栏目专家坐堂 → 为何有时BuildHeader不起作用


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

主题:为何有时BuildHeader不起作用

帅哥哟,离线,有人找我吗?
瞩望星空
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
为何有时BuildHeader不起作用  发帖心情 Post By:2013/8/14 22:16:00 [只看该作者]

新建一个项目,并在命令窗口中执行以下代码:

Dim b1 As Boolean = Tables("表B").Cols.Contains("第十一列")

Output.Show(b1) '用于验证

Dim Builder As New ADOXBuilder
Builder.Open() '打开ADOXBuilder
With Builder.Tables("表B")
    If b1 = False
        .AddColumn("第十一列" ,ADOXType.String,4) '增加字符型列,长度指定为4
    End If
End With
Builder.Close() '关闭ADOXBuilder
DataTables("表B").BuildHeader  '更新表头,才能显示更新的哦.
MainTable = Tables("表B")

 

再次打开这个项目,并通过菜单中删除“第十一列”,并保存项目,再打开项目,并在命令窗口中执行上述代码,

多做几次上述过程中,发现有几次执行命令窗口后,“表B”能显示“第十一列”,有几次又不能显示,不知为何?


 

[此贴子已经被作者于2013-8-14 22:17:06编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/14 22:22:00 [只看该作者]

 动态添加的列,必须重新启动项目才能生效的。帮助里有写明。

Syscmd.Project.Open(ProjectFile)

 回到顶部
帅哥哟,离线,有人找我吗?
瞩望星空
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2013/8/14 22:39:00 [只看该作者]

重启后一定会显示新增的列,问题是上述代码有时也能直接显示(指不重启项目)新增的列。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/14 22:45:00 [只看该作者]

我测试不能直接显示新增的列……

 回到顶部