Foxtable(狐表)用户栏目专家坐堂 → [求助]用代码,能一次批量给多表增加相同的列吗?


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

主题:[求助]用代码,能一次批量给多表增加相同的列吗?

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


加好友 发短信
等级:小狐 帖子:324 积分:2704 威望:0 精华:0 注册:2012/10/17 10:05:00
[求助]用代码,能一次批量给多表增加相同的列吗?  发帖心情 Post By:2014/10/7 11:19:00 [只看该作者]

 

 如果在设置了好多表后,发现各个表还想再添加一个相同的列,如果手动去加,那太麻烦了,用代码,能一次批量给多表增加相同的列?

求教论坛的前辈


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


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


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


加好友 发短信
等级:狐神 帖子:6849 积分:43345 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2014/10/7 11:27:00 [只看该作者]

可以的。


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


加好友 发短信
等级:小狐 帖子:324 积分:2704 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2014/10/7 11:35:00 [只看该作者]

用如下代码,能实现吗?我做了个近钮,但一次也只能对一张表添加,不能批量添加:

 

For Each tbl As Table In Tables
        Dim Builder As New ADOXBuilder
        Builder.Open() 
        
        If tbl.Cols.contains(Colname)=False Then
                 If Ary(1)="0" Then
                With Builder.Tables(tbl.name)
                    .AddColumn(Colname,Ary(1),Collength)
                End With
               
            Else
                Builder.Tables(tbl.name).AddColumn(Colname,Ary(1))
               
            End If
            Builder.Close()

next

 

请问如何修改?



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


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

Dim Builder As New ADOXBuilder
Builder.Open()
Dim Colname As String = "第100列"
For Each tbl As Table In Tables
     
    If tbl.Cols.contains(Colname )=False Then
        With Builder.Tables(tbl.name)
            .AddColumn(Colname, ADOXType.String, 16)
        End With
    End If
   
Next
Builder.Close()
Syscmd.Project.Open(ProjectFile)

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


加好友 发短信
等级:小狐 帖子:324 积分:2704 威望:0 精华:0 注册:2012/10/17 10:05:00
  发帖心情 Post By:2014/10/7 12:16:00 [只看该作者]

可以实现了。原来

Dim Builder As New ADOXBuilder
Builder.Open()   要放循环体外。


 


 回到顶部