如果Access查询出错

时间:2015-05-20 15:33:30

标签: ms-access-2007 ms-access-2010

您好我在MS Access中进行以下查询:

Tenure_days: DateSerial(Year(Date()),Month(Date()),11)-DateSerial(Mid([AHT_Tenure].[ABAY Start Date],1,4),Mid([AHT_Tenure].[ABAY Start Date],6,2),Mid([AHT_Tenure].[ABAY Start Date],9,2))

在某些记录中,当 [AHT_Tenure]时,会出现#Error。[ABAY Start Date] 为空,因此如何编辑上述查询以便 Tenure_days = #Error 120

1 个答案:

答案 0 :(得分:0)

问题是因为该字段为空,您需要先测试该字段是否为空。试试这个,

Tenure_days: IIF(Len([AHT_Tenure].[ABAY Start Date] & "") = 0, 120, DateSerial(Year(Date()),Month(Date()),11) - DateSerial(Mid([AHT_Tenure].[ABAY Start Date],1,4),Mid([AHT_Tenure].[ABAY Start Date],6,2),Mid([AHT_Tenure].[ABAY Start Date],9,2)))

您首先使用 mmediate IF ,查看您使用Mid函数的字段是否为空。如果它是空的,你马上给120。如果没有,您正在执行操作。我希望这会有所帮助。