Foxtable(狐表)用户栏目专家坐堂 → 排序的问题


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

主题:排序的问题

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
排序的问题  发帖心情 Post By:2017/8/4 22:24:00 [只看该作者]

在一个窗体中插入了多个表,表1 表2 表3 表4 。。。。 都绑定了“在职职工”,其中表4是作为副本
插入一个按钮控件,执行代码如下
(其中CurrentY:当前年  ,CurrentM:当前月)

Dim 退休预报男 As Integer,退休预报女工 As Integer,退休预报女专 As Integer
退休预报男 = ( CurrentY - Vars("男退休年龄") +1 ) * 100 + CurrentM
退休预报女工 = ( CurrentY - Vars("女工退休年龄") +1 ) * 100 + CurrentM
退休预报女专 = ( CurrentY - Vars("女专退休年龄") +1 ) * 100 + CurrentM
Tables("在职职工窗体_表4").Filter = " ( 性别 = '男' And 出生年月 <= '" & 退休预报男 & "' ) Or ( 个人身份 <> '技术工人' and 性别 = '女' And 出生年月<= '" & 退休预报女专 & "') Or ( 个人身份 = '技术工人' And 性别 = '女' And 出生年月 <= '" & 退休预报女工 & "')"
Tables("在职职工窗体_表4").sort = "个人身份,性别,出生年月"

但这样排序会出现一个小问题,排序结果举例:(为了看清排序,用颜色区分男女)
1  职工01  男  195707
2  职工02  男  195708
3  职工03  男  195709
4  职工04  男  195710
5  职工05  女  196207
6  职工06  女  196208
7  职工07  女  196209
8  职工08  女  196210

但我需要的结果应该是:
   (因为这样,前两个才是接近7月份办理退休的人员)
1  职工01  男  195707
2  职工05  女  196207
3  职工02  男  195708
4  职工06  女  196208
5  职工03  男  195709
6  职工07  女  196209
7  职工04  男  195710
8  职工08  女  196210

请问,不增加辅助列,如果能做到呢?



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


加好友 发短信
等级:超级版主 帖子:107743 积分:548054 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/4 23:09:00 [只看该作者]

做不到

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2017/8/6 21:07:00 [只看该作者]

最终我还是加了个辅助列:预测退休_年月

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


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

是的,需要加辅助列。所有特殊的排序,都需要加上排序辅助列。

 回到顶部