Microsoft Access 2010(32位),Win7(64位) - 表达式生成器中的IIf函数无法正常工作

时间:2014-03-11 17:18:01

标签: ms-access ms-access-2010 iif expressionbuilder

我无法让IIf()函数在Microsoft Access 2010 64位Windows 7 Professional中的表达式生成器中工作。我已经将问题归结为最基本的形式,它实际上在我看来像表达式构建器中的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"和"帮助,"并点击"帮助"按钮将我直接带到帮助系统的首页(即不会指示我处理与我的问题相关的任何内容。)

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

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

SELECT schedule_data.sdate, schedule_data.purpose FROM schedule_data;

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

IIF([MyField]="Special Value"; 0; 1)