以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 有两个表 货品和货品目录表 结构一样? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148078) |
-- 作者:jswjyjf -- 发布时间:2020/3/30 20:18:00 -- 有两个表 货品和货品目录表 结构一样? 有两个表 货品和货品目录表 结构一样? 货品表的颜色 尺码都是多值字段 ,现在要根据货品表生成细化的货品目录表 如图 此主题相关图片如下:1.png [此贴子已经被作者于2020/3/30 20:19:15编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/3/30 20:20:00 -- 2个循环,先遍历图一所有行,然后再根据颜色拆分后的数组遍历:http://www.foxtable.com/webhelp/topics/0245.htm |
-- 作者:jswjyjf -- 发布时间:2020/3/30 20:40:00 -- Dim dr As Row dr = Tables("货品").current Dim nms() As String = dr("颜色").Split(",") Dim nms2() As String = dr("尺码").Split(",") For Each name As String In Nms For Each name2 As String In Nms2 Dim r As Row = Tables("货品目录表").AddNew() r("货品名称")=dr("货品名称") r("颜色")=name r("尺码")=name2 Next Next 可以了 ,不过代码是否可以优化,麻烦帮我看一下 如果已经存在相同的颜色 尺码 货号 就要跳过去
[此贴子已经被作者于2020/3/30 20:41:26编辑过]
|
-- 作者:jswjyjf -- 发布时间:2020/3/30 21:03:00 -- Dim dr As Row dr = Tables("货品").current DataTables("货品目录表").SQLDeleteFor("货号=\'" & dr("货号") & "\'") DataTables("货品目录表").RemoveFor("货号=\'" & dr("货号") & "\'") Dim nms() As String = dr("颜色").Split(",") Dim nms2() As String = dr("尺码").Split(",") For Each name As String In Nms For Each name2 As String In Nms2 Dim r As Row = Tables("货品目录表").AddNew() r("货号")=dr("货号") r("货品名称")=dr("货品名称") r("颜色")=name r("尺码")=name2 Next Next |
-- 作者:有点蓝 -- 发布时间:2020/3/30 21:24:00 -- 同一行数据拆分后理论上是不会有重复的吧。因为颜色、尺码本身就不能选择重复的 |