0

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

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

非常感谢吉尔斯

4

1 回答 1

2

基于值列表的核心功能,您不能使用该ExecuteSQL()函数直接在值列表对话框内计算值。

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

因此,您的文件制作者计算将是(假设第一个字段是key,第二个字段是name并且它来自名为 items 的表,并且您正在寻找 where key > 100

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"
; "" ; "" )

然后,您将创建一个使用 keylist 作为第一个字段,使用 namelist 作为第二个字段的值列表,仅显示来自第二个字段的值。

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

于 2012-09-11T19:56:51.097 回答