Foxtable(狐表)用户栏目专家坐堂 → 请教实例


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

主题:请教实例

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
请教实例  发帖心情 Post By:2018/3/14 21:29:00 [只看该作者]

大师:请问用代码实现如下结果
通过第一列的第五行及第六行的值(固定资产,物资采购)、结合第三列、第四列的数值,如果第四列的值与第三列的值最接近,那么就在第五列写入同第六列相同的值。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目36.rar


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/14 21:43:00 [只看该作者]

Dim dt As DataTable = DataTables("表A")
For Each dr As DataRow In dt.Select("第四列 is not null")
    Dim dr1 As DataRow = dt.Find("第三列 >= " & dr("第四列"), "第三列")
    Dim dr2 As DataRow = dt.Find("第三列 <= " & dr("第四列"), "第三列 desc")
    Dim s As String = ""

    If dr1 IsNot Nothing AndAlso dr2 IsNot Nothing Then
        If dr1("第三列")-dr("第四列") <= dr("第四列") - dr2("第三列") Then
            s = dr1("第一列")
        Else
            s = dr2("第一列")
        End If
    ElseIf dr1 IsNot Nothing Then
        s = dr1("第一列")
    ElseIf dr2 IsNot Nothing Then
        s = dr2("第一列")
    End If
    dr("第五列") = s
Next


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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2018/3/14 22:39:00 [只看该作者]

谢谢!为何我想了很久没有出来?怎么个思路?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/14 22:42:00 [只看该作者]

方法一:计算和第三列每一行的差值,然后得到一个最小的,然后得到对应某一行;

 

方法二:利用find查找,先排序,到大于、小于的两行,然后比较两行的差值。


 回到顶部