以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 表名 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=96670) |
-- 作者:410941696 -- 发布时间:2017/2/25 18:25:00 -- 表名 表A的 客户列 中的单元格数值是张三 李四 王五 就自动生成表 张三 李四 王五 如果表A的 客户列 中的单元格数值增加 一个王老二 就自动增加一个王老二表 |
-- 作者:有点色 -- 发布时间:2017/2/26 13:18:00 -- For Each name As String In DataTables("表A").GetValues("第一列") Dim q As new QueryBuilder q.TableName = name q.SelectString = "Select * from {表A} where 第一列 = \'" & name & "\'" q.Build Next |
-- 作者:410941696 -- 发布时间:2017/2/26 14:14:00 -- 增加的的表结构是 列名是 编号 名称 数量 备注 |
-- 作者:有点色 -- 发布时间:2017/2/26 15:16:00 -- For Each name As String In DataTables("表A").GetValues("第一列") Dim q As new QueryBuilder q.TableName = name q.SelectString = "Select 编号,名称,数量,备注 from {表A} where 第一列 = \'" & name & "\'" q.Build Next |
-- 作者:410941696 -- 发布时间:2017/2/26 18:31:00 -- 不能加载 加载表失败 |
-- 作者:410941696 -- 发布时间:2017/2/26 18:40:00 -- 不能加载 加载表失败 |
-- 作者:wyz20130512 -- 发布时间:2017/2/26 19:29:00 -- 表的DataColChanged事件代码: Select Case e.DataCol.Name Case "客户" If DataTables.Contains(e.NewValue) = False Then \'代码生成表和列 Dim Builder As New ADOXBuilder Dim tbl As ADOXTable Builder.Open() tbl = Builder.NewTable(e.NewValue) \'创建表 With tbl .AddColumn("编号" ,ADOXType.Integer) .AddColumn("名称" ,ADOXType.String, 16) .AddColumn("数量" ,ADOXType.Single) .AddColumn("备注" ,ADOXType.String, 200) End With Builder.AddTable(tbl) \'增加表 Builder.Close() Syscmd.Project.Open(ProjectFile) \'动态创建的表和列之后,都必须重新打开项目才能真实生效. End If End Select
|
-- 作者:有点色 -- 发布时间:2017/2/26 20:26:00 -- 以下是引用410941696在2017/2/26 14:14:00的发言:
增加的的表结构是 列名是 编号 名称 数量 备注
你这种设计,是有问题,没有这种做法。
为什么要动态增加表,目的是什么? |
-- 作者:410941696 -- 发布时间:2017/2/26 20:36:00 -- 是这样的 我的表a 楼号列 有 1号楼 2号楼 3号楼 等 1号楼需要明细表 2号楼需要明细表 3号楼需要明细表等等 有什么新的思路可以指教指教 |
-- 作者:wyz20130512 -- 发布时间:2017/2/26 20:50:00 -- 表关联呀!! |