以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]小数自动进1  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53990)

--  作者:ZHX88863808
--  发布时间:2014/7/19 15:20:00
--  [求助]小数自动进1

我表中有A列/B列=C列,我想在D列自动填入C列的任何小数都进位的数,请老师和各位高手们帮忙写个代码,谢谢!(现把项目上传)

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小数进1.table


--  作者:ZHX88863808
--  发布时间:2014/7/20 7:44:00
--  
怎么没有人帮忙,还是难以做到?
--  作者:y2287958
--  发布时间:2014/7/20 7:52:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=53900&skin=0
--  作者:y2287958
--  发布时间:2014/7/20 7:58:00
--  
非常简单
将“c”列改为数据列,然后在DataColChanged事件中设置以下代码:
Select Case e.DataCol.Name
    Case "A","B"
    e.DataRow("第四列") = Math.Ceiling(e.DataRow("A")/e.DataRow("B"))
End Select

--  作者:ZHX88863808
--  发布时间:2014/7/20 8:35:00
--  

非常感谢,正是我想要的,谢谢!!!


--  作者:ZHX88863808
--  发布时间:2014/7/20 10:55:00
--  

不好意思,上面这个代码,在A列和B列为输入数据是非常有效,但是当A列为表达式列,B列数据来源于其他表时,第四列就不产生结果,除非把B列再重新输入一遍才有效,请老师们再帮我修改一下(现把项目再传上,请看表C),谢谢!

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:a小数进1.table


--  作者:有点甜
--  发布时间:2014/7/20 11:10:00
--  
 这种比较复杂,建议还是用表达式比较方便。加一列表达式 Convert([ZNSN]+[DPSHN]+0.5,\'System.Int32\')
--  作者:ZHX88863808
--  发布时间:2014/7/20 14:03:00
--  

有点甜老师,刚才估计您在休息,没敢打扰,现在我想问,上面这个表达式前面的加号改成乘号即可用,如果改成除号就不行,不知为什么,请帮忙写个两列相除而得到小数进位的表达式,谢谢!


--  作者:有点甜
--  发布时间:2014/7/20 14:24:00
--  
 相除也是可以,你说的不行,是什么意思。
--  作者:ZHX88863808
--  发布时间:2014/7/20 14:48:00
--  

我把表达式改成Convert([ZNSN]/[DPSHN]+0.5,\'System.Int32\') 确认时就会出现含Value was either too large or too small for an Int32 的窗口,不知为什么?