Foxtable(狐表)用户栏目专家坐堂 → 狐爸请进有新问题,关于表达式列用代码计算


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

主题:狐爸请进有新问题,关于表达式列用代码计算

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


加好友 发短信
等级:婴狐 帖子:20 积分:242 威望:0 精华:0 注册:2011/12/17 18:43:00
狐爸请进有新问题,关于表达式列用代码计算  发帖心情 Post By:2012/2/1 10:21:00 [只看该作者]

   小弟初学狐表,想做一个带BOM的仓库管理软件。

问题是,库存数量是用表达式计算。到BOM表中要显示即时库存。但是用代码跨表引用的话必须要用字符列。

本人能力有限,望各位大侠赐教。另本系统有不足之处请指出,万分感激!

  本人QQ:493002659

 

 

   附件在一楼!请各位赐教!

 

 狐爸还是昨天那个系统,我如果想在计划生产列的第一行输入一个数值100,怎么写它才能自动填充下面的空行呢?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:00123.jpg
图片点击可在新窗口打开查看

 

另表属性已经有一个事件了,要实现上面的功能代码怎么加。望狐爸提点,谢谢!

If e.DataCol.Name = "物料编号" Then '如果内容发生变动的是品名列
    If e.NewValue Is Nothing Then '如果新值是空白,也就是品名列的内容为空
        e.DataRow("库存") = Nothing '那么清空此行单价列的内容
    Else
        Dim dr As DataRow
        '否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        dr = DataTables("库存").Find("[物料编号] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
            e.DataRow("库存") = dr("库存_数量")
        End If
    End If
End If
Select Case e.DataCol.Name
    Case "总装用量","库存","计划生产"
        e.DataRow("余数") = (e.DataRow("库存") / e.DataRow("总装用量") - e.DataRow("计划生产")) * e.DataRow("总装用量")
End Select

[此贴子已经被作者于2012-2-2 9:05:57编辑过]

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


加好友 发短信
等级:婴狐 帖子:20 积分:242 威望:0 精华:0 注册:2011/12/17 18:43:00
  发帖心情 Post By:2012/2/1 10:23:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:00001.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:00002.jpg
图片点击可在新窗口打开查看

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

 

 


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


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

谁说的“跨表引用的话必须要用字符列”?

跨表引用,任何类型的列都可以。

 

你的代码有问题,正确的:

 

If e.DataCol.Name = "物料编号" Then '如果内容发生变动的是品名列
    If e.NewValue Is Nothing Then '如果新值是空白,也就是品名列的内容为空
        e.DataRow("库存") = Nothing '那么清空此行单价列的内容
    Else
        Dim dr As DataRow
        '否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        dr = DataTables("库存").Find("[物料编号] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
            e.DataRow("库存") = dr("库存_数量")
        End If
    End If
End If


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


加好友 发短信
等级:婴狐 帖子:20 积分:242 威望:0 精华:0 注册:2011/12/17 18:43:00
  发帖心情 Post By:2012/2/1 12:01:00 [只看该作者]

谢谢楼上的老师!

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


加好友 发短信
等级:婴狐 帖子:20 积分:242 威望:0 精华:0 注册:2011/12/17 18:43:00
  发帖心情 Post By:2012/2/2 9:09:00 [只看该作者]

本人菜鸟,请大家帮帮忙!谢谢!我把贴顶上去!


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


加好友 发短信
等级:婴狐 帖子:20 积分:242 威望:0 精华:0 注册:2011/12/17 18:43:00
  发帖心情 Post By:2012/2/2 10:45:00 [只看该作者]

这段代码本身有缺陷,如果在下面空白处输入内容它就会报错。这是怎么回事啊?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:112245.jpg
图片点击可在新窗口打开查看

 回到顶部