Foxtable(狐表)用户栏目专家坐堂 → [求助]代码问题


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

主题:[求助]代码问题

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


加好友 发短信
等级:婴狐 帖子:90 积分:635 威望:0 精华:0 注册:2012/2/6 9:52:00
[求助]代码问题  发帖心情 Post By:2012/3/18 11:44:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:仓管版本1.0.zip

我在大板入库表的datacolchanged里写了一段

If e.DataCol.name="片数"
If e.DataRow("片数")=0 Then
e.DataRow("状态")="结"
End If
End If

希望当表达式片数即库存片数为0时,自动把编号的状态改为[结]

可是貌似无法实现,请大侠帮我看看,项目已上传


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/3/18 11:53:00 [只看该作者]

直接下面这样好了

 


    If e.DataRow("片数")=0 Then
        e.DataRow("状态")="结"
    End If

 

片数是表达式列,不能做为变动列来判断的


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


加好友 发短信
等级:婴狐 帖子:90 积分:635 威望:0 精华:0 注册:2012/2/6 9:52:00
  发帖心情 Post By:2012/3/18 12:00:00 [只看该作者]

原来如此,谢谢

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


加好友 发短信
等级:婴狐 帖子:90 积分:635 威望:0 精华:0 注册:2012/2/6 9:52:00
  发帖心情 Post By:2012/3/19 17:01:00 [只看该作者]

这个还是写在datacolchanged里么?我发现貌似还是不会变动,要通过重置列才会变动

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/3/19 17:10:00 [只看该作者]

你不如将状态这一列改为表达式列,表达式为:

 

iif(片数 = 0, '节', Null)


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


加好友 发短信
等级:婴狐 帖子:90 积分:635 威望:0 精华:0 注册:2012/2/6 9:52:00
  发帖心情 Post By:2012/3/20 9:14:00 [只看该作者]

额,狐爸,如果还是要用代码的话,这段代码应该写到哪里呢?


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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/3/20 9:25:00 [只看该作者]

还是DataColChanged事件,但是表达式列不会触发DataColChange事件,解决方法参考:

http://www.foxtable.com/help/topics/2381.htm

 


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


加好友 发短信
等级:婴狐 帖子:90 积分:635 威望:0 精华:0 注册:2012/2/6 9:52:00
  发帖心情 Post By:2012/3/20 9:54:00 [只看该作者]

额,我是入库片数-出库片数(关联出库表后合计)=库存片数(表达式) 然后希望自动根据库存片数调整入库状态

 

看了看帮助,发现我影响库存片数的列也是表达式,那这种情况该怎么办呢


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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/3/20 10:08:00 [只看该作者]

继续向上追寻,找出源头。

 

如果D有C决定,C由B决定,B有A决定,C和B是表达式,那么D的计算代码应该这样写:

 

Select Case e.DataCol.Name

     Case “A”

        计算D的代码

End Select


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


加好友 发短信
等级:婴狐 帖子:90 积分:635 威望:0 精华:0 注册:2012/2/6 9:52:00
  发帖心情 Post By:2012/3/20 10:28:00 [只看该作者]

额,狐爸,可有个问题,B不由A决定

是这样的,我们这部分的产品主要是跟着编号走,同编号下可能有多次出库,所以我是这样做的

A(入库表中编号的入库片数)-B(关联出库表,同编号的出库片数的合计)=C(表达式算出库存片数)

然后当C库存片数<A入库片数时,D状态=售,C库存片数=0时,D状态=结

A其实是固定值,不会变更,那如何决定D的状态呢


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