以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]表A的多列,转表B的3列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177118)

--  作者:miaoqingqing
--  发布时间:2022/5/9 21:19:00
--  [求助]表A的多列,转表B的3列
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求助,转成3列便于统计类型及数量.foxdb


--  作者:有点蓝
--  发布时间:2022/5/9 21:28:00
--  
没看懂,说明一下
--  作者:miaoqingqing
--  发布时间:2022/5/9 21:55:00
--  回复:(有点蓝)没看懂,说明一下
就是把表A中的各列含有类型列的值,转到表B类型列,同时把表A的空间列和数量列也提取过来
表B我列举了白色和黑色,其他的也类似提取过来

也就是

全部把表A的类型和数量录入到表B,同时把对应表A空间名录入


[此贴子已经被作者于2022/5/9 22:26:50编辑过]

--  作者:有点蓝
--  发布时间:2022/5/9 22:47:00
--  
Dim nr As Row
For Each r As Row In Tables("表A").Rows
    For Each c As Col In Tables("表A").Cols
        If c.Name Like "*_类型" Then
            nr = Tables("表B").AddNew
            nr("空间") = r("空间")
            nr("类型") = r(c.Name.Split("_")(0) & "_类型")
        End If 
    Next 
Next 

--  作者:miaoqingqing
--  发布时间:2022/5/16 11:13:00
--  回复:(有点蓝)Dim nr As RowFor Each r As Row In ...
蓝主,上楼代码没没问题,只是每次都重新新增很多行太慢
表a当前行修改,表b对应几行才更新数据,代码怎么修改?表b如果不存在改行才才新建行

--  作者:有点蓝
--  发布时间:2022/5/16 11:19:00
--  
没有办法做,B表有重复的类型和空间值,无法确定对应哪一行数据
--  作者:miaoqingqing
--  发布时间:2022/5/16 11:51:00
--  回复:(有点蓝)没有办法做,B表有重复的类型和空间值...
蓝主,表a和表b都增加一列,空间编号列呢?
这些效率就高了,蓝主帮忙解决一下了,工作中需要用这个功能
[此贴子已经被作者于2022/5/16 13:29:37编辑过]

--  作者:有点蓝
--  发布时间:2022/5/16 13:31:00
--  
参考这种:http://www.foxtable.com/webhelp/topics/1453.htm
--  作者:miaoqingqing
--  发布时间:2022/5/17 12:45:00
--  回复:(有点蓝)参考这种:http://www.foxtable.com/...
蓝主,帮忙改改代码了,搞不定了
求助:当前(空间编号,行修改)表b(对应的空间编号,行才更新)行不存在就先新建行




--  作者:miaoqingqing
--  发布时间:2022/5/17 12:45:00
--  回复:(有点蓝)参考这种:http://www.foxtable.com/...
蓝主,帮忙改改代码了,搞不定了
求助:当前(空间编号,行修改)表b(对应的空间编号,行才更新)行不存在就先新建行