在EXCEL表窗口,将上表数据转化为下表数据,当重新转换时,我只希望更新"用量"数据,型号规格原地不动,更不要重复新增
BOM 作查询表?
Dim Ls() As String ={"导体","绝缘","耐火","绝缘","填充","包带","铜带","铜丝","内护层","钢带","护套"}
Dim s,t As String
For Each t In Ls
s+=" union all Select 型号,规格,'" & t & "' as 材料," & t & " As 用量 from {EXCEL} where " & t & " <> 0"
Next
DataTables("BOM").Fill(s.Substring(11),True)
以下是引用hhbb在2011-7-4 6:37:00的发言:
BOM 作查询表?
Dim Ls() As String ={"导体","绝缘","耐火","绝缘","填充","包带","铜带","铜丝","内护层","钢带","护套"}
Dim s,t As String
For Each t In Ls
s+=" union all Select 型号,规格,'" & t & "' as 材料," & t & " As 用量 from {EXCEL} where " & t & " <> 0"
Next
DataTables("BOM").Fill(s.Substring(11),True)
不是这个意思.不要重复新增是说不要对已有的型号规格转换时再增加记录.在上面的示例中以VV1.5为例,去掉"标记"的"√",修改导体和绝缘数据,按[转换]按钮,在下表新增了型号和规格重复的数据,我不希望这样,我希望在已有的VV1.5数据行中自动修改导体和绝缘数据.
不明,到底是BOM转换成Excel?还是Excel转换成BOM?
将EXCEL表(窗口上表)转换成BOM表(窗口下表)
窗口示例中已经可以转换(看按钮代码),我的问题是转换后在原表修改数据后再次转换出现了重复数据
那BOM根本没存在的必要!
Dim Ls() As String ={"导体","绝缘","耐火","绝缘","填充","包带","铜带","铜丝","内护层","钢带","护套"}
Dim s,t As String
For Each t In Ls
s+=" union all Select [_Identify],型号,规格,'" & t & "'as 材料," & t & " As 用量 from {EXCEL} where " & t & " <> 0"
Next
Tables("窗口4_Table2").Fill(s.Substring(11),True)
Tables("窗口4_Table2").sort = "_Identify"
你可以清除原来的数据啊:
DataTables("BOM").DataRows.Clear
[此贴子已经被作者于2011-7-4 8:39:28编辑过]
我不想清除BOM表的所有数据,只想清除要修改的产品(去"√"的)因为这个表的数据很多,修改也频繁.