Foxtable(狐表)用户栏目专家坐堂 → 累计出库自动更新的问题?(已解决)


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

主题:累计出库自动更新的问题?(已解决)

帅哥哟,离线,有人找我吗?
zpx_2012
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/3/30 16:12:00 [只看该作者]

不行啊,你这种情况是累计总数是在出库明细表里的,而我是将累计出库设计在来源表中即订单明细中的。

 回到顶部
帅哥哟,离线,有人找我吗?
晕了快扶我
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1199 积分:7102 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2013/3/30 16:18:00 [只看该作者]

以下是引用zpx_2012在2013-3-30 16:12:00的发言:
不行啊,你这种情况是累计总数是在出库明细表里的,而我是将累计出库设计在来源表中即订单明细中的。

图片点击可在新窗口打开查看你换个角度看不是一样的吗?你把同订单号同料号的统计出来的这个值UPDATE到订单明细中去


 回到顶部
帅哥哟,离线,有人找我吗?
晕了快扶我
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1199 积分:7102 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2013/3/30 16:19:00 [只看该作者]

而且动态加载的话,我建议楼主不要用关联,表达式的话对动态加载基本没用

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/3/30 16:34:00 [只看该作者]

谢谢,我看了一下你原来发的那几个贴,和我这个问题真的有点类似,我仔细看看再说了。其实我就想知道我5楼下面的代码为何没有触发事件。只要那个问题解决了,其他都没问题。

 回到顶部
帅哥哟,离线,有人找我吗?
晕了快扶我
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1199 积分:7102 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2013/3/30 17:37:00 [只看该作者]

你真的确定没有问题吗?load当前表的时候,会把当前编辑的数据刷新,导致代码出错,因为当前Datarow也被刷新,如果用你的第二个办法,更是不行,我不说RaiseDataColChanged效率问题,你前面load的是后台的数据,其实已经刷新了,除非你保存,否则你怎么RaiseDataColChanged都没用的

狐爸更新前,咱们这种要求指望用CMD的方法直接更新后台数据你就别想了,这里面涉及前台表和后台表同步机制的问题,我卡了半个多月前两天才想明白解决,是狐爸提醒的用一张临时表来加载后台数据,避免正式的表被load刷新前台数据

 

你先弄弄吧,实在不行我贴我的代码给你参考,经过测试完美计算库存,累交,未交等等


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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/3/30 18:41:00 [只看该作者]

如果不考虑效率的话,我1楼那个当然是可行的,只要把
 DataTables("出库明细").LoadFilter = flt 改为
 DataTables("出库明细").LoadFilter = ""
即不要任何条件全部加载。这样的话在出库明细中更改数据时就不会出现我说的第3个问题,你在出库明细中随便怎么更改后台数据都是正确的。只要回到订单主表时订单主表及明细表的数据就重新加载成最新的了。

如果按你说的用update 语句在出库明细中直接更新订单明细中的累计出库的话
Dim flt2 As String = "[产品编码] = '" & e.DataRow("产品编码") & "' and 订单编号 = '" & e.DataRow("来源单号") & "'"
cmd.CommandText = "Update {订单明细} Set 累计出库 = " & sd & "+'" & e.DataRow & "'-'" & e.OldValue & "' where " & flt2
cmd.ExecuteNonQuery()

就会出现操作者如果每次更改数量后不保存又更改一次这样结果就不正确,如果每次都保存就没问题,不知我理解的是否正确?


 回到顶部
帅哥哟,离线,有人找我吗?
晕了快扶我
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1199 积分:7102 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2013/3/30 19:10:00 [只看该作者]

以下是引用zpx_2012在2013-3-30 18:41:00的发言:
如果不考虑效率的话,我1楼那个当然是可行的,只要把
 DataTables("出库明细").LoadFilter = flt 改为
 DataTables("出库明细").LoadFilter = ""
即不要任何条件全部加载。这样的话在出库明细中更改数据时就不会出现我说的第3个问题,你在出库明细中随便怎么更改后台数据都是正确的。只要回到订单主表时订单主表及明细表的数据就重新加载成最新的了。

如果按你说的用update 语句在出库明细中直接更新订单明细中的累计出库的话
Dim flt2 As String = "[产品编码] = '" & e.DataRow("产品编码") & "' and 订单编号 = '" & e.DataRow("来源单号") & "'"
cmd.CommandText = "Update {订单明细} Set 累计出库 = " & sd & "+'" & e.DataRow & "'-'" & e.OldValue & "' where " & flt2
cmd.ExecuteNonQuery()

就会出现操作者如果每次更改数量后不保存又更改一次这样结果就不正确,如果每次都保存就没问题,不知我理解的是否正确?

图片点击可在新窗口打开查看那你这样何必用动态加载?这跟把数据全部加载到前台来有什么区别,不是多此一举嘛,我指的就是加了flt的情况会存在加载机制的问题

[此贴子已经被作者于2013-3-30 19:13:25编辑过]

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/3/30 19:46:00 [只看该作者]

奇怪,怎么就我们俩,难道其他人没有这种需求?我们这种想法太偏远了?

 回到顶部
帅哥哟,离线,有人找我吗?
晕了快扶我
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1199 积分:7102 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2013/3/30 19:55:00 [只看该作者]

图片点击可在新窗口打开查看解决问题就好了,这个问题非常有意思,论坛肯定有高手做进销存的时候遇到解决了,觉得太简单,没有分享出来而已,俺是菜鸟,只有不要脸的不断问狐狸爸爸,自己逻辑思维又差,凌乱的一塌糊涂

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2013/3/30 21:39:00 [只看该作者]

 暈了快扶我,我也暈了,還是把你的代碼帖出來學習一下吧,如果方便的話,謝謝!

 回到顶部
总数 34 上一页 1 2 3 4 下一页