以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]计算 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=123198) |
-- 作者:seal51 -- 发布时间:2018/8/9 18:55:00 -- [求助]计算 有A, d1, d2三列, 输入 d1, d2的值,如何通过下面的公式计算出A列的值 |
-- 作者:有点甜 -- 发布时间:2018/8/9 19:45:00 -- 不能直接代入计算?你遇到什么问题?在datacolchanged事件写代码
Dim d1 = e.datarow("d1") Dim d2 = e.datarow("d2") e.datarow("A") = (d2^2-d1^2)/4*3.1415926 |
-- 作者:seal51 -- 发布时间:2018/8/10 11:34:00 -- 谢谢, 我是不会写, 那么平方是^2, 四次方就是^4, 对吗? |
-- 作者:有点甜 -- 发布时间:2018/8/10 11:38:00 -- 以下是引用seal51在2018/8/10 11:34:00的发言:
谢谢, 我是不会写, 那么平方是^2, 四次方就是^4, 对吗?
是的。 |
-- 作者:seal51 -- 发布时间:2018/10/16 18:32:00 -- 当计算字段不为数字的时候会提示错误: 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 12 (""): 提供的值不是数据类型 float 的有效实例。请检查源数据中的无效值。例如,小数位数大于精度的数值类型的数据即为无效值。 如果更改代码呢?
|
-- 作者:有点蓝 -- 发布时间:2018/10/16 20:04:00 -- 既然是数值计算,为什么不改为数值列?如果计算结果比较大,把A里改为高精度列 |
-- 作者:seal51 -- 发布时间:2018/10/16 22:11:00 -- 没填写数值的时候,点击保存或者关闭按钮时,会出现这种状况,我干脆就设计默认值为0吧 |
-- 作者:有点蓝 -- 发布时间:2018/10/16 22:17:00 -- 如果是数值列,有没有值上面的代码都不会有问题。 什么事件写了什么代码?贴出来看看
|
-- 作者:seal51 -- 发布时间:2018/10/17 7:57:00 -- Dim cs1 = e.DataRow("cs1") Dim ood1 = e.DataRow("ood1") Dim oid2 = e.DataRow("oid2") Dim oysl1 = e.DataRow("oysl1") SystemReady = False e.DataRow("oysl1") = (cs1-(ood1-oid2)/2)/cs1 SystemReady = True 其他列数值为空的时候, 列oysl1显示“非数字”
|
-- 作者:有点甜 -- 发布时间:2018/10/17 8:49:00 -- 改成这样
Dim cs1 = e.DataRow("cs1") If cs1 <> Nothing Then |