Filemaker Pro 13,使用windows 10 comp。数据库是从Mac和Windows计算机使用的。
我有一个计算字段,它检测要定义自身的另一个字段的字符串值。
Field 1: Name Field2: Position
If ( Field1 = "Bob" or "Joe" or "Carl" ; "Tech Assist")
If ( Field1 = "Susan" or "Hank" or "Alex" ; "Employee")
Filemaker只获取If语句的第一个值,在本例中是"Bob“和"Susan”。其他的都是空白。就像这样:
Name: Bob Position: Tech Assist
Name: Joe Position: ___________
我怎样才能让菲尔梅克查看所有的可能性?
发布于 2015-11-10 21:03:35
你的尝试(至少)有两个问题:
Field1 = "Bob" or "Joe" or "Carl"
的计算方法就像编写了(Field1 = "Bob") or ("Joe") or ("Carl")
一样--因此只有当Field1 =“Bob”时才会返回true;这里更严重的问题是,您是硬编码数据,几乎肯定会在某个时候变成一个计算公式。
您应该拥有一个相关的员工表,其中包含StaffID、姓名和职位的字段。然后,当您用指定的工作人员的Field1填充此表中的StaffID时,将通过关系从该工作人员在staff表中的记录中提取相应的位置。
发布于 2016-03-10 09:09:19
或者..。
Case(
Not IsEmpty( FilterValues( List( "Bob" ; "Joe" ; "Carl" ) ; Field1 ) ) ;
"Tech Assist" ;
Not IsEmpty( FilterValues( List( "Susan" ; "Hank" ; "Alex" ) ; Field1 ) ) ;
"Employee"
)
发布于 2017-01-19 13:40:26
一个较长期的解决办法是有一个名称和部门表。如果图像不清晰,请查看图像。
然后,您将在当前表中的Field1与示例图像中的"Name“字段之间建立关系。从那里,关系将输出部门的名称,以便您不需要如果,否则,或大小写。否则,每当您的名册或其在公司中的角色发生更改时,您都会发现自己正在更新此脚本。这种关系还允许您轻松地添加新的部门,而无需更新此计算。
https://stackoverflow.com/questions/33639001
复制相似问题