Foxtable(狐表)用户栏目专家坐堂 → [求助]四列值比较大小后排序录入


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

主题:[求助]四列值比较大小后排序录入

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
[求助]四列值比较大小后排序录入  发帖心情 Post By:2022/11/27 20:52:00 [只看该作者]

求助,第一列 第二列 第三列 第四列 共4列值(整数列)从小到大排序后,录入到 第五列 第六列 第七列 第八列

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/27 21:12:00 [只看该作者]

把前4列值加入集合,对集合排序后按顺序赋值到后4列

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
回复:(有点蓝)把前4列值加入集合,对集合排序后按顺...  发帖心情 Post By:2022/11/27 21:28:00 [只看该作者]

Dim vs(3) As Integer
vs(0) = e.DataRow("第一列").
vs(1) = e.DataRow("第二列")
vs(2) = e.DataRow("第三列")
vs(3) = e.DataRow("第四列")
Array.Sort(vs)
e.DataRow("第五列") =  " '& vs(0)&'"
e.DataRow("第六列") =  " '& vs(1)&'"
e.DataRow("第七列") =  " '& vs(2)&'"
e.DataRow("第八列") =  " '& vs(3)&'"

蓝总,上面代码报错,怎么修改写到表事件里呢?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/27 22:00:00 [只看该作者]

e.DataRow("第五列") =  vs(0)

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
回复:(有点蓝)e.DataRow("第五列") =  v...  发帖心情 Post By:2022/11/27 22:10:00 [只看该作者]

'百十和,取最后1位
If e.DataCol.Name = "第一列" Or e.DataCol.Name = "第二列"   Or e.DataCol.Name = "第三列"   Or e.DataCol.Name = "第四列"  Then '如果更改的是十位列
    If e.DataRow.IsNull("第一列") Or e.DataRow.IsNull("第二列") Or e.DataRow.IsNull("第三列")  Or  e.DataRow.IsNull("第四列") Then '十位是否为空
        e.DataRow("第五列") = Nothing
        e.DataRow("第六列") = Nothing
        e.DataRow("第七列") = Nothing
        e.DataRow("第八列") = Nothing
    ElseIf e.DataRow.IsNull("第一列") = False And e.DataRow.IsNull("第二列")  = False And  e.DataRow.IsNull("第三列")  = False And  e.DataRow.IsNull("第四列") = False  Then '十位是否为空
        Dim vs(3) As Integer
        vs(0) = e.DataRow("第一列").
        vs(1) = e.DataRow("第二列")
        vs(2) = e.DataRow("第三列")
        vs(3) = e.DataRow("第四列")
        Array.Sort(vs)
        'e.DataRow("第五列") =  vs(0)
        e.DataRow("第六列") =  vs(1)
        e.DataRow("第七列") =  vs(2)
        'e.DataRow("第八列") =  vs(3)
    End If
End If

蓝总,上面代码报错如下;
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.1.30.2
错误所在事件:表,表A,DataColChanged
详细错误信息:
调用的目标发生了异常。
未找到类型“Integer”的公共成员“vs”。


求助修复


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/27 22:20:00 [只看该作者]

调试技巧:http://www.foxtable.com/webhelp/topics/1485.htm,看哪一句代码出错

 回到顶部