以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  跨表计算平均值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=125273)

--  作者:foxuser
--  发布时间:2018/9/25 11:16:00
--  跨表计算平均值
A表有批号列(唯一)、基重_左、基重_中、基重_右列,B有批号、基重平均值列,录入批号后,统计A表基重平均值
--  作者:有点甜
--  发布时间:2018/9/25 11:59:00
--  

看看

 

http://www.foxtable.com/webhelp/scr/1451.htm

 


--  作者:foxuser
--  发布时间:2018/9/25 18:08:00
--  
这是跨表引用吧?
--  作者:有点甜
--  发布时间:2018/9/25 18:40:00
--  
以下是引用foxuser在2018/9/25 18:08:00的发言:
这是跨表引用吧?

 

不就是跨表引用吗?引用这几列的值(基重_左、基重_中、基重_右),然后相加,除以3,不就是平均了?


--  作者:foxuser
--  发布时间:2018/9/25 19:18:00
--  
If e.DataCol.Name = "成品卷号" Then
    If e.NewValue Is Nothing Then 
        e.DataRow("卷头基重") = Nothing 
        e.DataRow("卷芯基重") = Nothing
        
    Else
        Dim dr As DataRow
        
        dr = DataTables("成品检验报表").Find("[成品卷号] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing Then 
            e.DataRow("卷头基重") = dr(("卷头基重_左") + ("卷头基重_中") +("卷头基重_右") /3 )
            e.DataRow("卷芯基重") = dr(("卷心基重_左") + ("卷心基重_中") +("卷心基重_右") /3 )
        End If
    End If
End If

列是双精度小数


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180925191754.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2018/9/25 19:19:59编辑过]

--  作者:有点甜
--  发布时间:2018/9/25 19:23:00
--  

改成

 

 e.DataRow("卷头基重") = (dr("卷头基重_左") + dr("卷头基重_中") +dr("卷头基重_右")) / 3