Foxtable(狐表)用户栏目专家坐堂 → [求助] 字符格式化数字后的计算


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

主题:[求助] 字符格式化数字后的计算

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


加好友 发短信
等级:幼狐 帖子:110 积分:1417 威望:0 精华:0 注册:2016/8/17 12:49:00
[求助] 字符格式化数字后的计算  发帖心情 Post By:2017/8/11 21:49:00 [只看该作者]

我想把字符列数量的内容,格式化数字格式,然后计算数量。

但是现在提示代码不对,请老师看看?

If e.DataCol.Name = "数量" Then
    Dim pr As DataRow
    Dim dr As DataRow
    dr("数量") = Format(val(dr("数量")),"00000")
    pr = DataTables("库存").Find("背番号 = '" & e.DataRow("背番号") & "'")
    If pr IsNot Nothing Then
        pr("入库_数量")= pr("入库_数量") + dr.NewValue - dr.OldValue
    End If
End If

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110818 积分:564034 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/11 21:56:00 [只看该作者]

If e.DataCol.Name = "数量" Then
    Dim pr As DataRow
    e.DataRow("数量") = Format(val(e.DataRow("数量")),"00000")
    pr = DataTables("库存").Find("背番号 = '" & e.DataRow("背番号") & "'")
    If pr IsNot Nothing Then
        pr("入库_数量")= pr("入库_数量") + val(e.NewValue) - val(e.OldValue)
    End If
End If
[此贴子已经被作者于2017/8/11 22:33:08编辑过]

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


加好友 发短信
等级:幼狐 帖子:110 积分:1417 威望:0 精华:0 注册:2016/8/17 12:49:00
  发帖心情 Post By:2017/8/11 22:02:00 [只看该作者]

谢谢有点蓝老师,但是还是不行?



 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110818 积分:564034 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/11 22:09:00 [只看该作者]

哦,怎么个不行呀。截图或者上实例说明

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


加好友 发短信
等级:幼狐 帖子:110 积分:1417 威望:0 精华:0 注册:2016/8/17 12:49:00
  发帖心情 Post By:2017/8/11 22:13:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110818 积分:564034 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/11 22:33:00 [只看该作者]

If e.DataCol.Name = "数量" Then
    Dim pr As DataRow
    e.DataRow("数量") = Format(val(e.DataRow("数量")),"00000")
    pr = DataTables("库存").Find("背番号 = '" & e.DataRow("背番号") & "'")
    If pr IsNot Nothing Then
        pr("入库_数量")= pr("入库_数量") + val(e.NewValue) - val(e.OldValue)
    End If
End If

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


加好友 发短信
等级:幼狐 帖子:110 积分:1417 威望:0 精华:0 注册:2016/8/17 12:49:00
  发帖心情 Post By:2017/8/11 22:59:00 [只看该作者]

配合以下代码,该如何写入,现在都是显示0

DrawCell

If e.Col.Name = "数量" Then
    If e.Row(e.Col.Name) IsNot Nothing AndAlso e.Row(e.Col.Name).StartsWith("=") Then
        e.text = Eval(e.Row(e.Col.Name).substring(1))
    End If
End If

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110818 积分:564034 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/11 23:01:00 [只看该作者]

没看懂你的代码要做什么

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


加好友 发短信
等级:幼狐 帖子:110 积分:1417 威望:0 精华:0 注册:2016/8/17 12:49:00
  发帖心情 Post By:2017/8/11 23:19:00 [只看该作者]

先用一段代码,在数量列实现类似excel中用单元格计算公式计算,如输入:=9-1,数量列显示8.

DrawCell

If e.Col.Name = "数量" Then
    If e.Row(e.Col.Name) IsNot Nothing AndAlso e.Row(e.Col.Name).StartsWith("=") Then
        e.text = Eval(e.Row(e.Col.Name).substring(1))
    End If
End If

然后在代码转换成数字(现在转换后出现0的情况,但是直接输入8的话,可以显示8,输入公式就显示o),计算库存数量。

If e.DataCol.Name = "数量" Then
    Dim pr As DataRow
    e.DataRow("数量") = Format(val(e.DataRow("数量")),"0")
    pr = DataTables("库存").Find("背番号 = '" & e.DataRow("背番号") & "'")
    If pr IsNot Nothing Then
        pr("入库_数量")= pr("入库_数量") + val(e.NewValue) - val(e.OldValue)
    End If
End If
[此贴子已经被作者于2017/8/11 23:19:48编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110818 积分:564034 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/11 23:37:00 [只看该作者]

哪位仁兄想出来的蛋疼的用法。我无能为力

还是老老实实录入吧。

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