以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 两列之间的运算 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=48774)
|
-- 作者:tina2012
-- 发布时间:2014/4/4 17:11:00
-- 两列之间的运算
如图,出库明细表中,数量-已交数量=剩余数量,目前的问题是一次不能完全交货,如果第一次交了10个,第二次交20个,即“新交数量”填入20,此时“已交数量”更改为30(已交数量+新交数量),然后锁定新交数量列。怎么实现?? 此主题相关图片如下:01.jpg
|
-- 作者:Bin
-- 发布时间:2014/4/4 17:13:00
--
If e.Col.name="新交数量列" AndAlso e.Row.IsNull("新交数量列")=False Then e.Cancel = True End If
|
-- 作者:tina2012
-- 发布时间:2014/4/8 14:17:00
--
如果第一次交了10个,第二次交20个,即“新交数量”填入20,此时“已交数量”更改为30(已交数量+新交数量),这个功能怎么实现??
|
-- 作者:Bin
-- 发布时间:2014/4/8 14:19:00
--
呵呵,不能这么做的. 因为无法判断你是修改,还是新增.
|
-- 作者:tina2012
-- 发布时间:2014/4/8 14:24:00
--
那有没有办法实现类似的功能???通常情况下,货是一次发不完的,是分批交货的
|
-- 作者:Bin
-- 发布时间:2014/4/8 14:32:00
--
通常都是以下另个方案
1.分开为不同的表,发货表以订单号关联,每发一次单独一条数据.
2.用窗口录入,窗口设计修改和新增按钮.点击对应按钮执行对应操作.
|
-- 作者:tina2012
-- 发布时间:2014/4/8 15:27:00
--
关于这个方案,有没有例子呢??多谢
|
-- 作者:Bin
-- 发布时间:2014/4/8 15:28:00
--
思路没什么困难的啊,你那里不懂实现? 上例子.
|
-- 作者:lsy
-- 发布时间:2014/4/8 16:01:00
--
If e.DataCol.Name = "新交数量" AndAlso e.DataRow.IsNull(e.DataCol) = False Then e.DataRow("已交数量") = e.DataRow.OriginalValue("已交数量") + e.NewValue End If
|