访问查询给#Func!错误

Access Query Giving #Func! Error

我需要从中解析数据的 table 中有大约 5,000 行。有时数据是这样输入的

Jones No# 434
Jones 

我需要删除 NO# 之后的任何内容,并且我有这个有效的查询 IF 该行包含文本 NO# 但如果它没有,我收到 #Func! 错误。

在 AC2013 中执行此操作的正确方法是什么?

LastName: Left(LastName, InStr(LastName, "NO#")-1)

首先使用IIF检查字符串中是否有##。

Instr returns 文本的位置,如果不在其中则为 0 - 所以只需检查它是否不是 0。

LastName: IIF(InStr(LastName, "NO#")<>0,Left(LastName, InStr(LastName, "NO#")-1),LastName)