楼主的表达式“iif([机加完成]=-1,now(),null)”在语法上完全正确、没有问题,按理是可以实现的。在ACCESS里该表达式运行不成功,应该受到其他原因影响所致。导致不成功的原因很多,这里很难一一列举。请告知该表达式使用的环境(例如窗体还是查询里等等)、报错提示信息等,以便做进一步分析。