我在使用Filemaker Pro 13中经过验证的字段中搜索搜索运算符时遇到了一些麻烦。
我有一个字段,它具有验证" 仅数字",因为它存储了一个数值。但是,当我进入查找模式时,我无法使用其中一个预定义的搜索运算符,例如* for" 零个或多个字符"甚至#for" 任何一个数字"。
当我在字段中输入其中一个运算符并尝试搜索时,Filemaker会给我一个验证错误,并说字段内容必须是数字。
有没有办法解决这个问题?
答案 0 :(得分:1)
那令人生气。
我只是:
Strict data type
选项并将其设置为Numeric Only
Only during data entry
,不应参与查找模式*
的查找并收到相同的错误消息这对我来说就像FileMaker中的一个错误。我不记得在以前的版本中遇到过它,但它也可能存在。我不认为查找模式是一种数据输入模式,因此您认为验证规则不适用。
所有这一切,你可以使用calc字段作为解决方法。
在同一个表格中创建一个计算字段,并将其命名为yourfieldnameSEARCH,例如idSEARCH
。字段的计算可以只是您实际要搜索的字段:
e.g. `mytable::idSEARCH = mytable::id`
您可以为计算字段将索引设置为All
,以便更快地进行搜索。由于计算字段与其参考表在同一个表中,因此对原始字段的修改将自动反映在计算中。
现在,您可以在SEARCH特定字段中进行搜索,而无需应用验证。
至于" bug"本身,您可以将其提交给FileMaker,也许他们会照顾它或者至少解释它为什么会发生。
答案 1 :(得分:1)
这至少可以追溯到FileMaker 11。
问题是*
和#
是字符串中字符的占位符。数值运算符<
,>
,<=
,>=
,...
即使只有严格的数据数据类型也能正常工作。 =
也可以找到空白值。
但是,对于真正的数字字段,这些字段应涵盖大部分搜索内容:
=
。=
,然后点击记录中的omit
。x...y
。复制#
运算符比较棘手。您可以使用计算数字mod
的新字段或将数字字段转换为字符串并获取第n个字符来复制它。
答案 2 :(得分:1)
显然,这种形式的验证适用于文本字段。
请注意,大多数查找运算符都可以正常运行,但验证结果为:=
,==
,!
,?
,{{1} }和所有比较运算符...
。
如果此处存在错误,则会涉及< > ≤ ≥
运算符,哪个Filemaker expressly designates要查找&#34; 数字字段中的一个或多个数字&# 34。
两种可能的解决方法:
将字段的类型更改为文本(请注意,这可能会影响字段的排序方式);
将严格数字类型验证替换为计算验证。