以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  一个新的计算方式,希望能指点一下!!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=75756)

--  作者:lhpc120
--  发布时间:2015/10/14 11:07:00
--  一个新的计算方式,希望能指点一下!!

附件项目中,有一个名为“标准表”的项目!

 

现在已知温度为 3.20 ,测量密度数值为:0.758

 

首选从表内温度列超找最接近3.20的这行!               答案是:3.25

 

再从表内查找 测量密度的相似值!  

 

相似值是  = 超找的温度的这样的(列名去掉“D”除以1000) 乘以 对应的值,1.几的小数

 

请问在狐表有什么好的思路计算吗?

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


--  作者:lhpc120
--  发布时间:2015/10/14 11:08:00
--  

个人感觉应该是先遍历行,找到相似值,在遍历这行的值!

 但是计算思路搞不懂!


--  作者:lhpc120
--  发布时间:2015/10/14 11:20:00
--  

这个表的数据是在窗口中查询后写入到窗口的某个控件,不是在表内计算,不能用e参数的!!求解救!


--  作者:狐表开发
--  发布时间:2015/10/14 11:27:00
--  

什么意思?

相似值是  = 超找的温度的这样的(列名去掉“D”除以1000) 乘以 对应的值,1.几的小数


--  作者:lhpc120
--  发布时间:2015/10/14 11:29:00
--  

相似值是列名称那个数字除以1000乘以相应的数,就是行的数


--  作者:lhpc120
--  发布时间:2015/10/14 11:33:00
--  

比如找到的温度是:3.25这行, 那么遍历这行的每一列  

 

遍历到以后,列成名除以1000乘以单元格的值!

 

比如找到第三列,那就是704/1000*1.02168398468944 = 0.719  如果这个0.719和测量密度值相似,且第二列和第四列的值都不如第三列和他相近,那标准值就是第三列的列名称

[此贴子已经被作者于2015/10/14 11:34:36编辑过]

--  作者:大红袍
--  发布时间:2015/10/14 11:35:00
--  

 

[此贴子已经被作者于2015/10/14 11:36:52编辑过]

--  作者:lhpc120
--  发布时间:2015/10/14 11:39:00
--  
没有内容啊!图片点击可在新窗口打开查看
--  作者:大红袍
--  发布时间:2015/10/14 11:55:00
--  

Dim wd As Double = 3.2
Dim md As Double = 0.758
Dim dt1 As DataRow = DataTables("标准表").Find("温度 <= " & wd, "温度 desc")
Dim dt2 As DataRow = DataTables("标准表").Find("温度 >= " & wd, "温度")
Dim fdr As DataRow
If wd - dt1("温度") <= dt2("温度") - wd Then
    fdr = dt1
Else
    fdr = dt2
End If
Dim cname As String = ""
Dim min As Double = 999
For Each dc As DataCol In  DataTables("标准表").DataCols
    If dc.name .StartsWith("D") Then
        Dim jsz As Double = dc.name.replace("D", "") / 1000 * fdr(dc.name)
        If Math.Abs(jsz-md) < min Then
            min = Math.Abs(jsz-md)
            cname = dc.name
        End If
    End If
Next

msgbox(fdr("温度") & " " & cname)


--  作者:lhpc120
--  发布时间:2015/10/14 12:02:00
--  
谢谢谢谢~~~