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

Ms access Access 2010:如何将错误值转换为null或空白?,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我正在使用设计视图在Access 2010中执行一个简单的选择查询。我的源文件是一个excel工作表,已链接到Access中的表。我可以查看源代码,但无法以任何方式修改它 源文件中的一列可能有以下错误:名称 当我看到错误时,我只想以空字符串的形式读取中的值,但当没有错误时,我只想要值。我已经研究了使用Nz、IIF、Switch和IsError的不同变体,但还没有取得任何成功 我正在设计视图的字段参数中尝试以下代码 Program_Temp: IIf(IsError([Program]), "",

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

源文件中的一列可能有以下错误:名称

当我看到错误时,我只想以空字符串的形式读取中的值,但当没有错误时,我只想要值。我已经研究了使用Nz、IIF、Switch和IsError的不同变体,但还没有取得任何成功

我正在设计视图的字段参数中尝试以下代码

Program_Temp: IIf(IsError([Program]), "", [Program])
这会失败,因为IIf同时计算truepart和falsepart,因此即使正确检测到错误,函数也会出错,因为仍会计算[Program]


有没有办法做到这一点?

Excel会将值作为字符串传递给access。 现在,您只需使用替换为空字符串的错误

替换字符串1,查找,替换,[开始,[计数,[比较]]

替换程序_Temp,名称

替换程序_Temp,NAME?,vbnull


此外,我还将提出与@serakfalcon相同的建议。导入表,而不是链接表,当需要新信息时,删除数据并导入新数据。这样做的一个很好的副作用是错误将被null替换。

Excel将把值作为字符串传递给access。 现在,您只需使用替换为空字符串的错误

替换字符串1,查找,替换,[开始,[计数,[比较]]

替换程序_Temp,名称

替换程序_Temp,NAME?,vbnull


此外,我还将提出与@serakfalcon相同的建议。导入表,而不是链接表,当需要新信息时,删除数据并导入新数据。这样做的一个很好的副作用是错误将被null替换。

我将导入表,而不是链接它,您可以保存导入以将其分配给宏或其他内容,当需要新信息时,删除数据并导入新数据。这样做的一个很好的副作用是错误将被null替换。这还可以防止excel文件被锁定(如果需要的话)。导入表不会将错误的单元格替换为null。但是@Adarsh的建议导致了我的回答。感谢您的回复!我将导入表,而不是链接它,您可以保存导入以将其分配给宏或其他内容,当需要新信息时,删除数据并导入新数据。这样做的一个很好的副作用是错误将被null替换。这还可以防止excel文件被锁定(如果需要的话)。导入表不会将错误的单元格替换为null。但是@Adarsh的建议导致了我的回答。感谢您的回复!你的回答导致了我的最终解决方案。Program_Temp是我将字段重命名为的,因此我的替换者必须使用Program。谢谢你的回答导致了我的最终解决方案。Program_Temp是我将字段重命名为的,因此我的替换者必须使用Program。谢谢程序温度:ReplaceNz[程序],,名称?,