以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]动态增加表 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=10203) |
|
-- 作者:kensou11111 -- 发布时间:2011/5/25 12:04:00 -- [求助]动态增加表 我想以某个表的单元格内容作为表名来动态增加表,但使用ADOXBuilder的话要重新打开项目才会出现这个新表。有没有什么办法可以无需重新打开项目就可以直接生成新表的? |
|
-- 作者:狐狸爸爸 -- 发布时间:2011/5/25 12:05:00 -- 生成好后,用OuterTableBuilder动态加载你生成的表。 |
|
-- 作者:kensou11111 -- 发布时间:2011/5/25 14:54:00 -- OuterTableBuilder不是用外部数据源来生成外部表的吗?不太了解这个语句的使用
我有现在这段代码:
Dim Builder As New ADOXBuilder Dim tbl As ADOXTable Builder.Open() tbl = Builder.NewTable("订单") \'创建表 With tbl .AddColumn("日期" ,ADOXType.DateTime) .AddColumn("产品" ,ADOXType.String, 12) .AddColumn("客户" ,ADOXType.String, 20) .AddColumn("数量" ,ADOXType.Integer) .AddColumn("备注" ,ADOXType.Text) End With Builder.AddTable(tbl) \'增加表 Builder.Close()
我新增的表“订单”要重新打开项目后才能显示,如果我想运行完一段代码后就能显示,剩下的代码应该怎么写? |
|
-- 作者:狐狸爸爸 -- 发布时间:2011/5/25 14:59:00 -- Dim Builder As New ADOXBuilder Dim tbl As ADOXTable Builder.Open() tbl = Builder.NewTable("订单") \'创建表 With tbl .AddColumn("日期" ,ADOXType.DateTime) .AddColumn("产品" ,ADOXType.String, 12) .AddColumn("客户" ,ADOXType.String, 20) .AddColumn("数量" ,ADOXType.Integer) .AddColumn("备注" ,ADOXType.Text) End With Builder.AddTable(tbl) \'增加表 Builder.Close() Dim q As new QueryBuilder q.C订单" q.SelectString = "Select * From {订单} " q.Build MainTable = Tables("订单") |
|
-- 作者:kensou11111 -- 发布时间:2011/5/25 15:16:00 -- 网速悲剧,发重了。。。 [此贴子已经被作者于2011-5-25 15:18:23编辑过]
|
|
-- 作者:狐狸爸爸 -- 发布时间:2011/5/25 15:23:00 -- Dim Builder As New ADOXBuilder
注意: q.Table Name = "BOM" Table Name中的空格要删除,论坛限制,不加空格上不来。 |
|
-- 作者:kensou11111 -- 发布时间:2011/5/25 15:30:00 -- 上面的代码能显示“订单”表了,但这个表是查询表,不能编辑,我后续需要往里面填充数据和运算的。能不能生成一个普通的表啊? [此贴子已经被作者于2011-5-25 15:41:50编辑过]
|
|
-- 作者:狐狸爸爸 -- 发布时间:2011/5/25 15:38:00 -- 以后改进,下次更新可以
|
|
-- 作者:rcsy001 -- 发布时间:2011/5/25 16:07:00 --
顶一个 |
|
-- 作者:tanxiaoping9 -- 发布时间:2013/1/25 12:47:00 -- Syscmd.Project.Open(ProjectFile) \'动态创建的表和列之后,都必须重新打开项目,可以使用这个代码重新打开当前项目. |