|
5#
楼主 |
发表于 2007-2-15 20:44:00
|
只看该作者
用一点通大师的方法会有如图的弊端,但是计算的速度快。在这信息爆炸的时代,快速度是体现优势的最好方式。用以下的思路——SELECT 基本信息表.工号, 基本信息表.姓名, 基本信息表.入职日期, 级别天数.年假天数, DateDiff("d",基本信息表.入职日期,Format(Now(),"yyyy-mm-dd"))/365 AS 工龄, IIf(级别天数.年假天数=12,IIf([工龄]>0 And [工龄]<0.5,0,IIf([工龄]>=0.5 And [工龄]<1,6,IIf([工龄]>=1 And [工龄]<=3,12,IIf([工龄]>3 And [工龄]<=6,14,IIf([工龄]>6 And [工龄]<=10,16,IIf([工龄]>10,18)))))),IIf(级别天数.年假天数=10,IIf([工龄]>0 And [工龄]<0.5,0,IIf([工龄]>=0.5 And [工龄]<1,5,IIf([工龄]>=1 And [工龄]<=3,10,IIf([工龄]>3 And [工龄]<=6,12,IIf([工龄]>6 And [工龄]<=10,14,IIf([工龄]>10,16)))))))) AS 年假总数
FROM 级别天数 INNER JOIN 基本信息表 ON 级别天数.级别=基本信息表.级别——就可以解决下图的弊端,但是会不会由于语言过多而导致计算的速度减慢呢,如果是的话有没有一种折中的方式呢?
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|