以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  字段列名不同名称修改代码填充数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144611)

--  作者:青丘狐
--  发布时间:2019/12/25 13:01:00
--  字段列名不同名称修改代码填充数据

Dim 填充数据 As New Filler
填充数据.SourceTable = DataTables("初始库存") \'指定数据来源
填充数据.SourceCols = "规格,长度,件数,吨数" \'指定数据来源列
填充数据.DataTable = DataTables("现货库存") \'指定数据接收表
填充数据.DataCols = "规格,长度,件数,可供数量," \'指定数据接收列
填充数据.ExcludeExistValue=True \'逻辑型,设为True,排除接收表中已经存在的内容
填充数据.Fill() \'填充数据

 

吨数  可供数量字段不同名称怎样修改代码填充数据


--  作者:有点蓝
--  发布时间:2019/12/25 14:01:00
--  
不需要修改,本来就支持不同名称的
--  作者:青丘狐
--  发布时间:2019/12/25 14:12:00
--  
如果位置不一样就导入数据混乱了
--  作者:有点蓝
--  发布时间:2019/12/25 15:02:00
--  
填充数据.SourceCols = "规格,长度,件数,吨数" \'指定数据来源列
填充数据.DataCols = "规格,长度,件数,可供数量" \'指定数据接收列

这个2个设置的列名位置肯定要一一对应呀,

--  作者:有点蓝
--  发布时间:2019/12/25 15:02:00
--  
或者参考这种方式http://www.foxtable.com/webhelp/topics/1533.htm
--  作者:青丘狐
--  发布时间:2019/12/25 16:03:00
--  

Dim Vals As List(of String())
Vals = DataTables("初始库存物资成本").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)
    dr("入库计量方式") = Vals(i)(10)
    dr("机构") = Vals(i)(11)
    dr("部门") = Vals(i)(12)
    dr("进货日期") = Vals(i)(13)
    dr("货位号") = Vals(i)(14)
    dr("品名") = Vals(i)(15)
    dr("品名") = Vals(i)(16)
    dr("品名") = Vals(i)(17)
   
Next

 

 

 

.NET Framework 版本:4.0.30319.18063
Foxtable 版本:2019.12.17.18
错误所在事件:窗口,初始库存物资成本,Button6,Click
详细错误信息:
Index was outside the bounds of the array.

这是什么意思?


--  作者:有点蓝
--  发布时间:2019/12/25 16:09:00
--  
列名只有14个,索引用到了17,肯定有问题啊。

不建议使用GetValues,请参考5楼
--  作者:青丘狐
--  发布时间:2019/12/25 16:48:00
--  
以下是引用青丘狐在2019/12/25 13:01:00的发言:

Dim 填充数据 As New Filler
填充数据.SourceTable = DataTables("初始库存") \'指定数据来源
填充数据.SourceCols = "规格,长度,件数,吨数" \'指定数据来源列
填充数据.DataTable = DataTables("现货库存") \'指定数据接收表
填充数据.DataCols = "规格,长度,件数,可供数量," \'指定数据接收列
填充数据.ExcludeExistValue=True \'逻辑型,设为True,排除接收表中已经存在的内容
填充数据.Fill() \'填充数据

 

代码的位置对应的,表格的位置没对应数据会错乱吗?


--  作者:有点蓝
--  发布时间:2019/12/25 17:13:00
--  
怎么个错乱法,截图说明一下