以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=95781) |
-- 作者:huaqing8828 -- 发布时间:2017/2/5 11:35:00 -- 求助代码 Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "数量","现有库存" If dre.IsNull("数量") OrElse dr.IsNull("现有库存") Then dr("生产计划") = Nothing Else dr("生产计划") = (dr("数量") - dr("现有库存")) * 1.05 End If End Select 以上是生产批号为1702-01批的生产计划,1702-02、03批的生产计划我要求是dr("生产计划") = dr("数量") * 1.05上面的代码怎么改写
|
-- 作者:有点色 -- 发布时间:2017/2/5 14:09:00 -- 你的逻辑是什么?要总结清楚
Dim dr As DataRow = e.DataRow [此贴子已经被作者于2017/2/5 14:10:59编辑过]
|
-- 作者:huaqing8828 -- 发布时间:2017/2/5 19:38:00 -- 老师,是这样的,每个月的第一“批生产计划”要减去库存数的,第二批以后的“生产计划”就不用减去库存数了,有一个“生产批号“列,来显示每月生产的次数。那么 Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "数量","现有库存" If dr.IsNull("数量") OrElse dr.IsNull("现有库存") Then dr("生产计划") = Nothing Else If dr("生产计划") = "1702-01" Then dr("生产计划") = (dr("数量") - dr("现有库存")) * 1.05 ElseIf dr("生产计划") = "1702-02" orelse dr("生产计划") = "1702-03" Then dr("生产计划") = dr("数量") * 1.05 End If End If End Select 上面的代码应该怎么改写
|
-- 作者:有点蓝 -- 发布时间:2017/2/6 8:46:00 -- Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "数量","现有库存" If dr.IsNull("数量") OrElse dr.IsNull("现有库存") Then dr("生产计划") = Nothing Else If dr("生产计划") Like "*-01" Then dr("生产计划") = (dr("数量") - dr("现有库存")) * 1.05 Else dr("生产计划") = dr("数量") * 1.05 End If End If End Select
|
-- 作者:huaqing8828 -- 发布时间:2017/2/6 9:50:00 -- 老师,Dim dr As DataRow = e.DataRow提示这条代码出错 |
-- 作者:有点色 -- 发布时间:2017/2/6 10:21:00 -- 以下是引用huaqing8828在2017/2/6 9:50:00的发言:
老师,Dim dr As DataRow = e.DataRow提示这条代码出错
代码你要写到DataColChanged事件去。 |
-- 作者:huaqing8828 -- 发布时间:2017/2/6 12:59:00 -- 老师,我本来就是写在DataColChanged事件中,我现在把Dim dr As DataRow = e.DataRow这条代码写到 Select Case e.DataCol.Name Case "数量","现有库存"下面来了,问题解决了。 谢谢老师
|
-- 作者:有点色 -- 发布时间:2017/2/6 13:25:00 -- 如果是提示你变量定义重复,那么,你可以把给变量dr换一个名字 |