FMP 12中基于ExecuteSQL()的查询的ValueList

时间:2012-07-25 13:01:32

标签: filemaker

我正在考虑将我们的FMP11开发解决方案升级到FMP12。对于我们来说,ValueList功能周围存在关键功能,用于显示一个值(例如描述),同时将另一个值(例如UID)返回到所选字段中。

如果您能够从ExecuteSQL()函数复制此功能,我会感兴趣(我可以成功返回单个ValueList ......上面遇到问题)

非常感谢提前 贾尔斯

1 个答案:

答案 0 :(得分:2)

根据值列表的核心功能,您无法使用ExecuteSQL()函数直接在值列表对话框中计算值。

您需要做的是创建一个包含单个记录和两个字段的表。然后,您将使用ExecuteSQL()计算用数据填充第一个和第二个字段。确保在两个字段中以相同的顺序对executeSQL()内的数据进行排序非常重要。

所以你的文件制作者计算是(假设第一个字段是key而第二个字段是name,它来自一个名为items的表,你正在寻找key > 100)< / p>

keylist = 
ExecuteSQL ( 
"SELECT key 
FROM items 
WHERE key > 100
ORDER BY key ASC"
; "" ; "" )

namelist = 
ExecuteSQL ( 
"SELECT name 
FROM items 
WHERE key > 100
ORDER BY key ASC"
; "" ; "" )

然后,您将创建一个值列表,该列表使用键列表作为第一个字段,名称列表作为第二个字段,仅显示第二个字段中的值。

拥有计算值列表的功能会很不错,但据我所知,filemaker总是需要从值列表对话框之外的源中提取值。