Foxtable(狐表)用户栏目专家坐堂 → 两列之间的运算


  共有3581人关注过本帖树形打印复制链接

主题:两列之间的运算

美女呀,离线,留言给我吧!
tina2012
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:286 积分:2462 威望:0 精华:0 注册:2013/9/23 16:09:00
两列之间的运算  发帖心情 Post By:2014/4/4 17:11:00 [只看该作者]

如图,出库明细表中,数量-已交数量=剩余数量,目前的问题是一次不能完全交货,如果第一次交了10个,第二次交20个,即“新交数量”填入20,此时“已交数量”更改为30(已交数量+新交数量),然后锁定新交数量列。怎么实现??
图片点击可在新窗口打开查看此主题相关图片如下:01.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/4 17:13:00 [只看该作者]

PrepareEdit 事件

If e.Col.name="新交数量列" AndAlso e.Row.IsNull("新交数量列")=False Then
    e.Cancel = True
End If

 回到顶部
美女呀,离线,留言给我吧!
tina2012
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:286 积分:2462 威望:0 精华:0 注册:2013/9/23 16:09:00
  发帖心情 Post By:2014/4/8 14:17:00 [只看该作者]

如果第一次交了10个,第二次交20个,即“新交数量”填入20,此时“已交数量”更改为30(已交数量+新交数量),这个功能怎么实现??

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/8 14:19:00 [只看该作者]

呵呵,不能这么做的. 因为无法判断你是修改,还是新增.

 回到顶部
美女呀,离线,留言给我吧!
tina2012
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:286 积分:2462 威望:0 精华:0 注册:2013/9/23 16:09:00
  发帖心情 Post By:2014/4/8 14:24:00 [只看该作者]

那有没有办法实现类似的功能???通常情况下,货是一次发不完的,是分批交货的


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/8 14:32:00 [只看该作者]

通常都是以下另个方案

1.分开为不同的表,发货表以订单号关联,每发一次单独一条数据.

2.用窗口录入,窗口设计修改和新增按钮.点击对应按钮执行对应操作.

 回到顶部
美女呀,离线,留言给我吧!
tina2012
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:286 积分:2462 威望:0 精华:0 注册:2013/9/23 16:09:00
  发帖心情 Post By:2014/4/8 15:27:00 [只看该作者]

关于这个方案,有没有例子呢??多谢

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/8 15:28:00 [只看该作者]

思路没什么困难的啊,你那里不懂实现? 上例子.

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By: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

 回到顶部