以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何实现这样的自动输入? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42471) |
||||
-- 作者:sxy_123456 -- 发布时间:2013/11/12 21:23:00 -- [求助]如何实现这样的自动输入? 我想在材料采购申请单选择产品编号后做一个判断,如果同一工程材料费预算表中有这个产品则自动对应输入材料费预算表的预算数量和预算单价,如果没有这个产品,预算数量=0,预算单价=产品单价
|
||||
-- 作者:有点甜 -- 发布时间:2013/11/12 21:36:00 -- 在datacolchanged事件里加入代码 If e.DataCol.Name = "产品编号" Then Dim fdr As DataRow = DataTables("材料费预算表").Find("中标工程名称 = \'" & e.DataRow("中标工程名称") & "\' and 产品编号 = \'" & e.NewValue & "\'") If fdr IsNot Nothing Then e.DataRow("成本预算数量") = fdr("数量") e.DataRow("成本预算单价") = fdr("单价") Else fdr = DataTables("产品价格库").Find("产品编号 = \'" & e.NewValue & "\'") e.DataRow("成本预算数量") = 0 If fdr IsNot Nothing Then e.DataRow("成本预算单价") = fdr("单价") End If End If End If |
||||
-- 作者:sxy_123456 -- 发布时间:2013/11/12 21:56:00 -- 谢谢 |
||||
-- 作者:sxy_123456 -- 发布时间:2013/11/12 22:14:00 -- 上面的例子还有个问题要请教有点甜,我在加载树选择工程名称时以下代码计算剩余数量正确,但是我习惯在加载树选择第几次采购输入数据,不能计算,有没有办法改进? If e.DataCol.Name = "本次数量" Then If e.DataRow.IsNull("中标工程名称") = False AndAlso e.DataRow.IsNull("产品编号") = False _ AndAlso e.DataRow.IsNull("本次数量") = False AndAlso e.DataRow.IsNull("第几次采购") = False Then Dim sum As Double = e.DataTable.Compute("Sum(本次数量)","中标工程名称 = \'" & e.DataRow("中标工程名称") & "\' And 产品编号 = \'" & _ e.DataRow("产品编号") & "\' And 第几次采购 <= \'" & e.DataRow("第几次采购") & "\'") e.DataRow("剩余数量") = e.DataRow("成本预算数量") - sum End If End If
|
||||
-- 作者:有点甜 -- 发布时间:2013/11/12 22:30:00 -- 不明白4楼表达的意思。怎么操作,输入什么,正确的结果应该是什么,请截图说明。 |
||||
-- 作者:sxy_123456 -- 发布时间:2013/11/12 22:37:00 -- 截图1输入木工板,剩余数量计算不正确, 此主题相关图片如下:1.png 截图2剩余数量计算正确 此主题相关图片如下:2.png |
||||
-- 作者:有点甜 -- 发布时间:2013/11/12 22:48:00 -- 嗯嗯,明白,那你左边不要用 加载树 , 用 筛选树 就行了。 |