以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表达式用绝对值函数,不执行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161229)

--  作者:lin98
--  发布时间:2021/3/10 14:36:00
--  表达式用绝对值函数,不执行
下面代码是在关联表的主表写的表达式,无报错,但无计算,不执行;
(Abs([X]-([X_上]+[X_下])/2))/(([X_上]-[X_下])/2)
--  作者:有点蓝
--  发布时间:2021/3/10 14:39:00
--  
先看看:http://www.foxtable.com/webhelp/topics/0602.htm

然后注意判断一下除数,如果为0,可能会出现无穷大,导致异常

--  作者:lin98
--  发布时间:2021/3/10 15:06:00
--  
iif(Abs(IsNull([X],0) -(IsNull([X_上],0) +IsNull([X_下],0) )/2))/((IsNull([X_上],0) -IsNull([X_下],0))/2)
报错,执行不了

--  作者:有点蓝
--  发布时间:2021/3/10 15:11:00
--  
iif(IsNull([X_上],0)=IsNull([X_下],0),0,Abs(IsNull([X],0) -(IsNull([X_上],0) +IsNull([X_下],0))/2)/((IsNull([X_上],0) -IsNull([X_下],0))/2) )
--  作者:lin98
--  发布时间:2021/3/10 15:24:00
--  
没报错,不执行,这个关联表有关系?这个是关联表的主表设定表达式公式
--  作者:lin98
--  发布时间:2021/3/10 15:31:00
--  
Dim dr1 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "标1"
        
        dr1("A6") = dr1("值")/ dr1("D2")
        
    Case "上","下","标1"
        
        dr1("p1") = (dr1("X_上")-dr1("X_下"))/ (6*dr1("A6"))
                                    
End Select

上面红字代码,不执行,不知道错哪


--  作者:有点蓝
--  发布时间:2021/3/10 15:46:00
--  
Dim dr1 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "标1"
        dr1("A6") = dr1("值")/ dr1("D2")                   
End Select
Select Case e.DataCol.Name
    Case "上","下","标1"
        dr1("p1") = (dr1("X_上")-dr1("X_下"))/ (6*dr1("A6"))                    
End Select

--  作者:lin98
--  发布时间:2021/3/10 16:31:00
--  
老师,下面2个代码,还是无执行:
1,
iif(IsNull([X_上],0)=IsNull([X_下],0),0,Abs(IsNull([X],0) -(IsNull([X_上],0) +IsNull([X_下],0))/2)/((IsNull([X_上],0) -IsNull([X_下],0))/2) )

2. Abs((IsNull[标1],0) - (IsNull([X_上],0) + (IsNull[X_下]0)), / 2)

--  作者:有点蓝
--  发布时间:2021/3/10 16:38:00
--  
请上传实例说明
--  作者:lin98
--  发布时间:2021/3/10 18:10:00
--  
实例中CAP的绝对值无效,无计算
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:函数计算 - 绝对值.zip