以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教产品耗料计算 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169840) |
||||
-- 作者:xusuyang -- 发布时间:2021/7/2 20:26:00 -- 请教产品耗料计算 老师:您好!是不是前几天的"导尿包产品配置表“及"导尿包产品配件耗料表“设计上有问题,今天我重新将两个表设计了一下。 1、从"导尿包产品配置表“中可以看出:A、生产一个“甲型”“导尿包”是由1只导尿管、1只引流袋、1只导管夹等配件组成;B、生产一个“乙型”“导尿包”是由2只导尿管、2只引流袋、2只导管夹等配件组成;C、生产一个“乙型”“导尿包”是由3只导尿管、3只引流袋、3只导管夹等配件组成 B、生产“生产数量”为200个“甲型”导尿包,用代码如何实现"导尿包产品配件耗料表“表中“配件信息”中的“导尿管、引流袋、导管夹”等的“类型、规格”自动填入,“导尿管、引流袋、导管夹”等的“数量”各400自动计算填入? C、生产“生产数量”为150个“甲型”导尿包,用代码如何实现"导尿包产品配件耗料表“表中“配件信息”中的“导尿管、引流袋、导管夹”等的“类型、规格”自动填入,“导尿管、引流袋、导管夹”等的“数量”各450自动计算填入? 昨天老师帮我写的代码: Select Case e.DataCol.Name Case "产品型号","生产数量" If
e.DataRow.IsNull("产品型号") Then
For Each dc As DataCol In e.DataTable.DataCols
If dc.Name Like "配件名称_*" Then
e.DataRow(dc.Name) = Nothing
End If
Next Else
For Each dr As DataRow In DataTables("导尿包产品配置表").Select("数量_" & e.DataRow("产品型号") & " <> 0 and 配件名称 Is not null")
e.DataRow("配件名称_" & dr("配件名称") & "_类型") = dr("类型")
e.DataRow("配件名称_" & dr("配件名称") & "_数量") = dr("数量_" & e.DataRow("产品型号")) * e.DataRow("生产数量")
Next End If End Select 我复制到:"导尿包产品配件耗料表“datacolchanged事件后, 当我在"导尿包产品配件耗料表“表中““生产数量””输入100时,当我在“导尿包产品配件耗料表”中“产品型号”列输入“甲型”时,提示为: .NET
Framework 版本:4.0.30319.42000 Foxtable 版本:2020.5.29.8 错误所在事件:表,导尿包产品配件耗料表,DataColChanged 详细错误信息: 调用的目标发生了异常。 未找到列 [_数量]。 当我在"导尿包产品配件耗料表“表中““生产数量””输入100时,当我在“导尿包产品配件耗料表”中“产品型号”列输入“甲型”时,提示为: .NET
Framework 版本:4.0.30319.42000 Foxtable 版本:2020.5.29.8 错误所在事件:表,导尿包产品配件耗料表,DataColChanged 详细错误信息: 调用的目标发生了异常。 未找到列 [甲型_数量]。 今天还请老师帮我看看哪里有问题,谢谢!!! |
||||
-- 作者:xusuyang -- 发布时间:2021/7/2 20:28:00 -- 我的Foxtable的版本是2012.4.5前 |
||||
-- 作者:有点蓝 -- 发布时间:2021/7/3 9:42:00 -- 那就相应改一下列名就行了 Select Case e.DataCol.Name Case "产品型号","生产数量" If e.DataRow.IsNull("产品型号") Then For Each dc As DataCol In e.DataTable.DataCols If dc.Name Like "配件信息_*" Then e.DataRow(dc.Name) = Nothing End If Next Else For Each dr As DataRow In DataTables("导尿包产品配置表").Select("产品型号_" & e.DataRow("产品型号") & " <> 0 and 配件信息_名称 Is not null") e.DataRow("配件信息_" & dr("配件信息_名称") & "_类型") = dr("配件信息_类型") e.DataRow("配件信息_" & dr("配件信息_名称") & "_数量") = dr("产品型号_" & e.DataRow("产品型号")) * e.DataRow("生产数量") Next End If End Select 另外注意把【生产数量】列改为整数类型 |