Foxtable(狐表)用户栏目专家坐堂 → 如何实现临时表导入正表或副表字段可以不一样多?


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

主题:如何实现临时表导入正表或副表字段可以不一样多?

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


加好友 发短信
等级:五尾狐 帖子:1166 积分:7833 威望:0 精华:0 注册:2019/6/13 9:57:00
如何实现临时表导入正表或副表字段可以不一样多?  发帖心情 Post By:2020/5/5 11:20:00 [只看该作者]

比如下:
统计表1

产品   规格  单位   数量


正表或副表,表A

产品   规格  单位   数量     审核    引用

做了个统计,并将结果导入正表或副表,要求字段要一样多,要表A“审核 和 引用”,去掉,否则,报错,但有项目需求,就不要去掉,那要如何做?

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


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/5 11:38:00 [只看该作者]

导入数据的时候自己指定数据来源列和数据接收列即可:http://www.foxtable.com/webhelp/topics/1533.htm

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


加好友 发短信
等级:五尾狐 帖子:1166 积分:7833 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/5/5 16:53:00 [只看该作者]

Dim Vals As List(of String())
'Vals = DataTables("最新库存数_Table6").GetValues("第一列|第二列|第三列|第四列|第五列|第六列|第七列|第八列|第九列|第十列")

Vals = DataTables("最新库存数_Table6").GetValues("|||||||||")

For i As Integer = 0 To Vals.Count - 1
    Dim dr As DataRow = DataTables("商品库存").AddNew()
    dr("产品编号") = Vals(i)(0)
    dr("产品名称") = Vals(i)(1)
    dr("规格型号") = Vals(i)(2)
    dr("单位") = Vals(i)(3)
    dr("入库_数量") = Vals(i)(4)
    dr("入库_金额") = Vals(i)(5)
    dr("出库_数量") = Vals(i)(6)
    dr("出库_金额") = Vals(i)(7)
    dr("库存_金额") = Vals(i)(8)
    dr("库存_数量") = Vals(i)(9)
    
Next

老师,最新库存数_Table6是统计,窗口上的临时表,用上面方法,报错

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/5 17:38:00 [只看该作者]

GetValues里必须指定列名,最好是参考这种用法

Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim 
Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each 
dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim 
dr2 As DataRow = DataTables("表B").AddNew()
    For 
i As Integer = 0 To Cols1.Length -1
        
dr2(Cols2(i)) = dr1(Cols1(i
))
    Next
Next

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


加好友 发短信
等级:五尾狐 帖子:1166 积分:7833 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/5/6 10:22:00 [只看该作者]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2019.12.17.18
错误所在事件:窗口,最新库存数,Button8,Click
详细错误信息:
列“0”不属于表 最新库存数_Table6。

老师,上面二个方法,都报上面错

'Dim Cols1() As String = {"第一列","第二列","第三列","第四列","第五列","第六列","第七列","第八列","第九列","第十列"}
Dim Cols1() As String = {"0","1","2","3","4","5","6","7","8","9"}
Dim Cols2() As String = {"产品编号","产品名称","规格型号","单位","入库_数量","入库_金额","出库_数量","出库_金额","库存_金额","库存_数量"}
For Each dr1 As DataRow In DataTables("最新库存数_Table6").Select("[库存_数量] > 0")
    Dim dr2 As DataRow = DataTables("商品库存").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/6 10:30:00 [只看该作者]

_Table6没有01234...这些列名

试试

Dim Cols2() As String = {"产品编号","产品名称","规格型号","单位","入库_数量","入库_金额","出库_数量","出库_金额","库存_金额","库存_数量"}
For Each dr1 As DataRow In DataTables("最新库存数_Table6").Select("[库存_数量] > 0")
    Dim dr2 As DataRow = DataTables("商品库存").AddNew()
    For i As Integer = 0 To Cols2.Length -1
        dr2(Cols2(i)) = dr1(DataTables("最新库存数_Table6"). dataCols1(i).name)
    Next
Next

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


加好友 发短信
等级:五尾狐 帖子:1166 积分:7833 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/5/6 11:13:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:临时报错.gif
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/6 11:40:00 [只看该作者]

dr2(Cols2(i)) = dr1(DataTables("最新库存数_Table6"). dataCols(i).name)

 回到顶部