以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 排序的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=104784) |
-- 作者:zhangchi96 -- 发布时间: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 请问,不增加辅助列,如果能做到呢? |
-- 作者:有点蓝 -- 发布时间:2017/8/4 23:09:00 -- 做不到 |
-- 作者:zhangchi96 -- 发布时间:2017/8/6 21:07:00 -- 最终我还是加了个辅助列:预测退休_年月 |
-- 作者:有点甜 -- 发布时间:2017/8/6 21:25:00 -- 是的,需要加辅助列。所有特殊的排序,都需要加上排序辅助列。 |