Access 2010:如何将错误值转换为null或空白?

时间:2016-03-15 14:09:06

标签: vba ms-access access-vba ms-access-2010

我正在使用设计视图在Access 2010中执行简单的选择查询。我的源文件是一个excel工作表,我已链接到Access中的表。我可以查看源代码,但无法以任何方式修改它。

源文件中的一个列可能出现以下错误:" #NAME?"

当我看到错误时,我只想将值读作空字符串"",但是如果没有错误,我只想要该值。我研究了使用Nz,IIF,Switch和IsError的不同变体,但还没有取得任何成功。

我正在" Field"中尝试以下代码设计视图中的参数。

Program_Temp: IIf(IsError([Program]), "", [Program])

这是失败的,因为IIf评估" truepart"和" falsepart"因此即使错误地检测到错误,该功能也会出错,因为" [Program]"仍在评估中。

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

Excel会将值作为字符串传递给访问。 现在你只需要用空字符串替换错误。

Replace ( string1, find, replacement, [start, [count, [compare]]] )

Replace ( Program_Temp, "#NAME?", "" )

Replace ( Program_Temp, "#NAME?", vbnull )

我也建议和@serakfalcon一样。导入表,而不是链接表,当需要新信息时,删除数据并导入新数据。一个很好的副作用是错误将被替换为null。