2014-02-05 24 views
0

在的FileMaker,如果FIELD1(日期字段)填充,我想FIELD2值是“a”,如果FIELD1是空的,我想FIELD2价值为b使用if语句计算以定义字段的值。语法错误?

我试图 在用于场2的选项,验证通过计算,给出了计算,并且这个公式:

If (IsEmpty(field1),"valueb","valuea")  

,但我得到了以下错误: A number, text constant, field name or “(” is expected here.

两个问题。

  1. will this way work?
  2. is my syntax wrong?

如果有人能指出什么是错的,我将非常感激。

+0

我没有看到你的公式有什么问题。严格地说,您应该使用分号';'来分隔参数而不是逗号',' - 但这可能取决于您的语言环境,并且在任何情况下,Filemaker都应该足够聪明以便理解逗号。 –

+0

好,所以改变分号的逗号工作,非常感谢你!也不是通过计算验证,而是自动输入值... – user3274553

+0

为什么不使用*计算*字段?如果您计划手动覆盖该值,则自动输入是合适的。或者需要验证结果。另请注意,对于简单的文本标签,您可以使用有条件格式的*文本* - 不带字段。 –

回答

0

你正在运行到的问题是,你试图通过场的数据验证选项,而不是它的自动进入选项写入一个值的字段。

验证计算将向用户显示错误消息,但除了将字段还原为用户预编辑值之外,不会写入字段。

自动输入选项将允许您将数据写入该字段。如果这两个字段在同一个表中,则在修改field1时,field2的自动输入计算将会触发。

这就是说,让我们看看你正在努力完成什么。

你想要什么:field1不为空,field2应持有的价值“一”。 当field1为空时,field2应该保持值“b”。

自动进入计算field2应该是:

if (not IsEmpty(field1) ; "b" ; "a") 

如果这两个领域在不同的表它改变的东西了一点,但好像这是你要的东西。

我希望这会有所帮助。