以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请老师帮我修正产品耗料计算代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=169823) |
|||||
-- 作者:xusuyang -- 发布时间:2021/7/1 19:48:00 -- 请老师帮我修正产品耗料计算代码 1、从"导尿包产品配置表“中可以得知:A、生产一个“甲型”“导尿包”是由1只导尿管、1只引流袋、1只导管夹等组成;B、生产一个“乙型”“导尿包”是由2只导尿管、2只引流袋、2只导管夹等组成;C、生产一个“乙型”“导尿包”是由3只导尿管、3只引流袋、3只导管夹等组成 2、当生产开单员在"导尿包产品配件耗料表“中填入某一天需要:A、生产“甲型”导尿包,“生产数量”为100时,用代码如何实现"导尿包产品配件耗料表“中导尿管、引流袋、导管夹等的类型、规格自动填入,导尿管、引流袋、导管夹等的数量各100自动计算填入?B、生产“乙型”导尿包,“生产数量”为200时,用代码如何实现"导尿包产品配件耗料表“中导尿管、引流袋、导管夹等的类型、规格自动填入,导尿管、引流袋、导管夹等的数量各400自动计算填入?C、生产“丙型”导尿包,“生产数量”为150时,用代码如何实现"导尿包产品配件耗料表“中导尿管、引流袋、导管夹等的类型、规格自动填入,导尿管、引流袋、导管夹等的数量各450自动计算填入? 3、老师如下代码好像实现不了上述要求
|
|||||
-- 作者:有点蓝 -- 发布时间:2021/7/1 21:01:00 --
[此贴子已经被作者于2021/7/2 9:00:03编辑过]
|
|||||
-- 作者:xusuyang -- 发布时间:2021/7/1 21:42:00 -- 管理项目2.foxdb的版本低,我打不开 |
|||||
-- 作者:有点蓝 -- 发布时间:2021/7/1 21:47:00 -- 更新到最新版foxtable |
|||||
-- 作者:xusuyang -- 发布时间:2021/7/1 21:52:00 -- 我的版本只能更新到2021.4.5, |
|||||
-- 作者:xusuyang -- 发布时间:2021/7/1 21:58:00 -- 请帮我转成2021.4.5,之前的版本,谢谢 |
|||||
-- 作者:有点蓝 -- 发布时间:2021/7/1 22:02: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
|
|||||
-- 作者:xusuyang -- 发布时间:2021/7/1 22:28:00 -- 老师:当我在“导尿包产品配件耗料表”中“产品型号”列输入“甲型”时,提示为: .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 详细错误信息: 调用的目标发生了异常。 未找到列 [_数量]。
|
|||||
-- 作者:有点蓝 -- 发布时间:2021/7/1 22:32:00 -- 7楼代码不可能会有这种提示,用的肯定不是这个代码 |
|||||
-- 作者:xusuyang -- 发布时间:2021/7/1 22:48: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 |