如果 Access 查询出错

If error on Access query

您好,我正在 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].[ABAY Start Date] 为空时出现#Error,那么我该如何编辑上述查询,以便当Tenure_days = #Error120 ?

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

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)))

你先用一个Immediate IF,看看你用Mid函数的字段是不是空的或不。如果它是空的,你就直接给了 120。如果不是,则您正在执行该操作。希望对您有所帮助。