我的神哪!你弄这么复杂不出错才怪呢!ACCESS的空值是 IS NULL一个表达式来表示 ,SQL的空值是 NULL 一个值来表示.表达式不是一个数值,EXCEL把NULL用内嵌模块直接转换成了0,ACCESS并不是这么做.所以你还得给所有参与运算的 离职日期 一层嵌套 ,他应该是:IIF(离职日期 IS NULL,0,离职日期)哪有把空值拿去直接参与运算的,建议不要做这种事情,用VBA去计算,速度会快得多,也容易表达和修改