Foxtable(狐表)用户栏目专家坐堂 → 一个新的计算方式,希望能指点一下!!


  共有2415人关注过本帖树形打印复制链接

主题:一个新的计算方式,希望能指点一下!!

帅哥哟,离线,有人找我吗?
lhpc120
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:6320 威望:0 精华:0 注册:2011/5/8 13:21:00
一个新的计算方式,希望能指点一下!!  发帖心情 Post By:2015/10/14 11:07:00 [只看该作者]

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

 

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

 

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

 

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

 

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

 

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
lhpc120
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:6320 威望:0 精华:0 注册:2011/5/8 13:21:00
  发帖心情 Post By:2015/10/14 11:08:00 [只看该作者]

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

 但是计算思路搞不懂!


 回到顶部
帅哥哟,离线,有人找我吗?
lhpc120
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:6320 威望:0 精华:0 注册:2011/5/8 13:21:00
  发帖心情 Post By:2015/10/14 11:20:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
狐表开发
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1168 威望:0 精华:0 注册:2015/6/8 21:38:00
  发帖心情 Post By:2015/10/14 11:27:00 [只看该作者]

什么意思?

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


 回到顶部
帅哥哟,离线,有人找我吗?
lhpc120
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:6320 威望:0 精华:0 注册:2011/5/8 13:21:00
  发帖心情 Post By:2015/10/14 11:29:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
lhpc120
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:6320 威望:0 精华:0 注册:2011/5/8 13:21:00
  发帖心情 Post By:2015/10/14 11:33:00 [只看该作者]

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

 

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

 

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/14 11:35:00 [只看该作者]

 

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

 回到顶部
帅哥哟,离线,有人找我吗?
lhpc120
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:6320 威望:0 精华:0 注册:2011/5/8 13:21:00
  发帖心情 Post By:2015/10/14 11:39:00 [只看该作者]

没有内容啊!图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:6320 威望:0 精华:0 注册:2011/5/8 13:21:00
  发帖心情 Post By:2015/10/14 12:02:00 [只看该作者]

谢谢谢谢~~~

 回到顶部