Foxtable(狐表)用户栏目专家坐堂 → LSY老师,我改变了一下出货的方法,你原来的代码太复杂了,我改不来,请再帮忙!


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

主题:LSY老师,我改变了一下出货的方法,你原来的代码太复杂了,我改不来,请再帮忙!

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


加好友 发短信
等级:二尾狐 帖子:590 积分:3858 威望:0 精华:0 注册:2012/10/15 20:39:00
LSY老师,我改变了一下出货的方法,你原来的代码太复杂了,我改不来,请再帮忙!  发帖心情 Post By:2014/2/10 15:34:00 [只看该作者]

LSY老师,跟以前的思路一样:

'1.随便点【直接出货】表里面任意一行,在[出货数量]里面输入出货数量,那么,自动计算出[剩余未出数量],
 
    'a.当[剩余未出数量]>0时,说明出货没完
      '复制已出的数量数据到【财务对账】表里面,
      '逻辑列[订单未清完]=1,锁定,

       '并在主表里面新加一行,别的都一样,就是[剩余未出数量]那里是新的未出数量;等待下一次出货;

       '第二次或第三次出货,没出完时,一样的重复上面的步骤,
       '出完了话,移除该单号的.

 

     'b.当[剩余未出数量]=0时,说明出完货了,复制新加所有数据到【财务对账】表里面,锁定移除该行;

 

     'c.当[剩余未出数量]<0时,说明出货超量了,提示重新输入,不作下一步工作;

 

'我在表属性 列 里面设置了复制的代码

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:出货和对账5.rar


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


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

在DataColChangIng事件
If e.DataCol.name="出货数量" Then
    If (e.DataRow("订单数量")-e.NewValue)<0 Then
           messagebox.show("出库超量")
           e.Cancel=true
    End If
End If

datacolChanged事件

If e.DataCol.name="出货数量" Then
    e.DataRow("剩余未出数量")=e.DataRow("订单数量")-e.DataRow("出货数量")
    If e.DataRow("剩余未出数量")=0 Then
           复制到 财务对账
    Else If e.DataRow("剩余未出数量")>0 Then
           赋值到财务对账
    End If
End If

复制行参考这里http://www.foxtable.com/help/topics/2292.htm

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


加好友 发短信
等级:二尾狐 帖子:590 积分:3858 威望:0 精华:0 注册:2012/10/15 20:39:00
  发帖心情 Post By:2014/2/10 18:58:00 [只看该作者]

Bin老师的这个代码,不能把未出完货的订单重新复制到下一行,也没有已出的移除数据,跟我想要的效果有很多偏差。

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/2/10 19:28:00 [只看该作者]

跨表自动更新,逻辑关系非常复杂,很容易出现想不到的漏洞,我现在很少用。

一般来说,狐友就按照帮助,写的代码也不复杂,用起来好像也行,实际上不同的人,操作习惯千变万化,就把漏洞显示出来了。

不如手工更新可靠,就像你前面做的那样。


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


加好友 发短信
等级:二尾狐 帖子:590 积分:3858 威望:0 精华:0 注册:2012/10/15 20:39:00
  发帖心情 Post By:2014/2/10 19:41:00 [只看该作者]

跨表的自动更新,先不搞了。不更新到财务。

就帮我把出货这个表搞定就可以了。

出货这里,跟以前一样,需要实现思路:

 

1.随便点【直接出货】表里面任意一行,在[出货数量]里面输入出货数量,那么,自动计算出[剩余未出数量]
 
2.当[剩余未出数量]>0时,说明出货没完
      逻辑列[订单未清完]=true,锁定,但是不移除。

   并在主表里面新增一行,就是[剩余未出数量]那里是新的未出数量;等待下一次出货;

   第二次或第三次出货,没出完时,一样的重复上面的步骤,
    出完了话,移除该订单号的所有记录行.

 

3.当[剩余未出数量]=0时,直接在 逻辑列[已结单]=true   移除该行

 

4.当[剩余未出数量]<0时,说明出货超量了,提示重新输入,不作下一步工作;

 

主要是新增一行、未出完货的那一步,我是怎么都不会做啊

请帮助,谢谢!


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


加好友 发短信
等级:二尾狐 帖子:590 积分:3858 威望:0 精华:0 注册:2012/10/15 20:39:00
  发帖心情 Post By:2014/2/10 19:43:00 [只看该作者]

以前搞的那个,在[导入数据到出货表]的过程中,你就计算了[剩余未出数量],

后面【确认出货】,就没有再计算[剩余未出数量],所以我转不到这个里面去。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/10 19:56:00 [只看该作者]

 呃,应该是这样。

 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:出货和对账5.zip


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


加好友 发短信
等级:二尾狐 帖子:590 积分:3858 威望:0 精华:0 注册:2012/10/15 20:39:00
  发帖心情 Post By:2014/2/10 20:31:00 [只看该作者]

谢谢 有点甜 老师,我研究了一下午了,都没有搞定。谢谢你!

[此贴子已经被作者于2014-2-10 21:05:36编辑过]

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


加好友 发短信
等级:二尾狐 帖子:590 积分:3858 威望:0 精华:0 注册:2012/10/15 20:39:00
  发帖心情 Post By:2014/2/10 20:35:00 [只看该作者]

上面几个小问题,调试了一下,都搞定了,再次谢谢您!

[此贴子已经被作者于2014-2-10 21:05:11编辑过]

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


加好友 发短信
等级:二尾狐 帖子:590 积分:3858 威望:0 精华:0 注册:2012/10/15 20:39:00
  发帖心情 Post By:2014/2/11 9:54:00 [只看该作者]

今天测试数据,发现数据是被删除了,我要的是移除,不是删除,我把DeleteFor更换成RemoveFor了,却发现不对了:

显示所有行后,最后一次出货的数据没有了,也找不到了。

是那里不对了呢?


 回到顶部
总数 12 1 2 下一页