0

我无法让 IIf() 函数在 Microsoft Access 2010 64 位 Windows 7 Professional 的 Expression Builder 中工作。我已将问题归结为最基本的形式,在我看来,表达式生成器中的 IIf 函数确实不受支持。我正在尝试按照http://msdn.microsoft.com/en-us/library/gg241307%28v=office.14%29.aspx提供的说明进行操作。

细节:我有一个简单的数据库,我只从一个表中提取一个字段:表:schedule_data,字段:目的。在右侧的第一个空列中,我正在尝试:

MyExp: IIf( IsNull([purpose]) , "n/a" , [purpose] )

我尝试了 IIf() 函数的许多变体,包括布尔值,例如:

MyExp: IIf(1=2,"Wow!","Bah!")

并且每次返回的错误都是:“您输入的表达式包含无效的语法。” + "您省略了操作数或运算符,输入了无效字符或逗号,或者您输入的文本没有用引号引起来。" 给出的选项是“OK”和“Help”,单击“Help”按钮将我直接带到帮助系统的首页(即不会将我引导至任何特定于我的问题的内容。)

我的问题是,这可能与我的 64 位安装有关吗?我知道 64 位应用程序中的某些功能尚未得到广泛支持。我已经在其他语言和应用程序中使用了等效功能,例如 WordPerfect(Perfect Script),效果很好。请帮忙; 这真让我抓狂。

根据要求:这是我在切换到 SQL 视图时粘贴的 SQL。在我纠正错误之前,它不会让我切换视图,所以我只需要删除该列:

SELECT schedule_data.sdate, schedule_data.purpose FROM schedule_data;
4

3 回答 3

1

我在访问 2013 时遇到了完全相同的问题。通过环顾四周变得疯狂,我试图将我的区域设置从瑞士法语更改为英语美国并且宾果游戏成功了。这肯定是 Access 中的错误。我建议您在编写 iif 表达式时将您的区域设置为美国,然后在需要时切换回原始区域。

于 2014-04-30T01:57:27.420 回答
0

此问题是 Microsoft Office 2010 (Access) 安装或工作站硬件或操作系统详细信息的本地问题。这可以通过检查同一组织中的另一台计算机与完全相同的计算机、操作系统和应用程序软件来确认。细微的区别是:有问题的计算机有 16.0 GB 或安装的内存,而没有问题的计算机有 8.0 GB。唯一的其他区别是“产品 ID”的最后三位数字(不是版本)在有问题的计算机上是 220,而在工作计算机上的最后三位数字是 741。

于 2014-03-13T18:33:58.150 回答
0

无需更改区域设置,只需使用分号而不是逗号:

IIF([MyField]="Special Value"; 0; 1)
于 2015-06-18T12:40:47.820 回答