Foxtable(狐表)用户栏目专家坐堂 → 怎样通过目录树创建表


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

主题:怎样通过目录树创建表

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/10/18 20:47:00 [显示全部帖子]

狐表肯定能做到,动态创建表和列,请参考帮助的ADOXBuilder。

 


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/10/18 22:05:00 [显示全部帖子]

AdoxBuilder既然可以动态创建列,那么就一样可以由用户输入列类型,根据用户的输入来生成列,例如假定有个表用来输入列类型,列名称,和列长度,你可以:
 
Dim Builder As New ADOXBuilder
Builder.Open()

tbl = Builder.NewTable("表名")
For Each dr As DataRow in DataTables("xxx").DataRows
   Select Case dr("类型")
        Case "字符型"
              tbl.AddColumn(dr("列名称") , ADOXType.String, dr("列长度"))
         Case "日期"
              tbl.AddColumn(dr("列名称") , ADOXType.DateTime)
         Case "整数型"
              tbl.AddColumn(dr("列名称") , ADOXType.Integer) 
         '其余类推,自己写即可
   End Select
Next
Builder.Close()

[此贴子已经被作者于2010-10-18 22:35:19编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/10/19 9:51:00 [显示全部帖子]

之前的代码漏掉了一行:
 
Dim Builder As New ADOXBuilder
Builder.Open()
tbl = Builder.NewTable("表名")
For Each dr As DataRow in DataTables("xxx").DataRows
   Select Case dr("类型")
        Case "字符型"
              tbl.AddColumn(dr("列名称") , ADOXType.String, dr("列长度"))
         Case "日期"
              tbl.AddColumn(dr("列名称") , ADOXType.DateTime)
         Case "整数型"
              tbl.AddColumn(dr("列名称") , ADOXType.Integer) 
         '其余类推,自己写即可
   End Select
Next
Builder.AddTable(tbl, True, True)
Builder.Close()


 回到顶部