Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]请教如何用公式直接实现30*20*10的计算?

1楼
木鸡 发表于:2009/9/26 13:04:00
工作中要用到长方体或圆形计算体积的问题,

EXCEL中我用EVALUATE函数来计算,很方便。

在FOXTABLE中,请教如何用公式直接实现30*20*10的计算?

先感谢哈




图片点击可在新窗口打开查看此主题相关图片如下:kkk.jpg
图片点击可在新窗口打开查看
2楼
木鸡 发表于:2009/9/26 13:05:00
感谢,大家十一国庆愉快!!
3楼
czy 发表于:2009/9/26 13:21:00

'DataColChanged事件代码

if e.DataCol.Name = "长x宽x高" Then
    e.DataRow("体积") = eval(e.DataRow("长x宽x高"))
End If

4楼
木鸡 发表于:2009/9/26 16:20:00
谢谢czy兄,

再次请教
如果要计算 重量=长*宽*高*数量*比重/1000000,应该怎么写?



图片点击可在新窗口打开查看此主题相关图片如下:llll.jpg
图片点击可在新窗口打开查看
5楼
程兴刚 发表于:2009/9/26 17:20:00

同理:


'DataColChanged事件代码

if e.DataCol.Name = "长x宽x高" Then
    e.DataRow("体积") = eval(e.DataRow("长x宽x高"))
End If

if e.DataCol.Name = "长x宽x高"  or e.DataCol.Name = "数量"  or e.DataCol.Name = "比重" Then
    e.DataRow("重量") = eval(e.DataRow("长x宽x高") & "*" & e.DataRow("数量")  & "*" & e.DataRow("比重"))/1000000
End If


[此贴子已经被作者于2009-9-26 17:28:17编辑过]
6楼
程兴刚 发表于:2009/9/26 17:26:00
当然可以简写:

dim r as datarow = e.datarow

if e.DataCol.Name = "长x宽x高" Then
    r("体积") = eval(r("长x宽x高"))
End If

if e.DataCol.Name = "长x宽x高"  or e.DataCol.Name = "数量"  or e.DataCol.Name = "比重" Then
    r("重量") = eval(r("长x宽x高") & "*" & r("数量")  & "*" & r("比重"))/1000000
End If

7楼
yangming 发表于:2009/9/26 17:41:00
Dim s As String = eval(e.DataRow("长宽高"),e.DataRow)
e.DataRow("重量") = s*e.DataRow("数量")*e.DataRow("比重")/1000000
8楼
程兴刚 发表于:2009/9/26 19:07:00
Dim s As String = eval(e.DataRow("长宽高"),e.DataRow)

S类型?

      原来String的数字也可以参与计算,我怎么不知道,郁闷!
[此贴子已经被作者于2009-9-27 10:43:08编辑过]
9楼
木鸡 发表于:2009/9/27 7:15:00
咱们论坛热心人真多,谢谢楼上各位,

我来试试哈,不懂再问,
10楼
木鸡 发表于:2009/9/27 9:24:00
试了一下,上面的几种方法都行的,谢谢

程版的方法用的是基本功,

Y版的方法更简洁、清灵,

都是好老师!
共10 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 2 queries.