我如何获得值列表?

时间:2012-06-08 14:16:32

标签: filemaker

我有一个表Targets,其中包含唯一ID number和字段data。我想获得一个包含numberTargets的所有值的列表,因此这个列表(最好用逗号分隔)最终可以作为Web视图中的JS数组。

在SQL中,它就像

一样简单
SELECT number FROM Targets

但我在FileMaker Pro Advanced 11中找不到任何合理的方法。我认为List函数可能是它,但由于某种原因,它不会列出我的所有行。

如果你可以做相当于

的加分
SELECT number, data FROM Targets

3 个答案:

答案 0 :(得分:1)

目标表格中,添加一个类似于javascript数组文字的计算字段(例如 ID数据数组):

"[" & number & "," & data & "]"

在与目标表格事件具有交叉产品关系的布局上(例如,全部定位),添加类似以下计算的Web视图组件含量:

"data:text/html,¶" &
"<!DOCTYPE html PUBLIC " & Quote ( "-//W3C//DTD XHTML 1.0 Strict//EN" ) & "¶" &
Quote ( "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" ) & ">¶" &
"<html xmlns=" & Quote ( "http://www.w3.org/1999/xhtml" ) & ">¶" &
"<head>¶" &
"<meta http-equiv=" & Quote ( "content-type" ) & " content=" & Quote ( "text/html; charset=utf-8" ) & " />¶" &
"<title>Table Data</title>¶" &
"<script type=" & Quote ( "text/javascript" ) & " src=" & Quote ( "script.js" ) & " ) & ">¶" &
"var dataArray = [ " & Substitute ( List ( Targets All::ID Data Array ) ; "¶" ; "," ) & "];¶" &
"</script>¶" &
"</head>¶" &
"<body>¶" &

"</body>¶" &
"</html>"

关键部分是:

"var dataArray = [ " & Substitute ( List ( Targets All::ID Data Array ) ; "¶" ; "," ) & "];¶"

这使用列表功能将所有相关的 ID数据阵列字段整理为一个¶分隔的列表。

然后使用替换函数用逗号替换¶字符,这样就可以得到一个很好的以逗号分隔的数组列表。

最后,它将它包装在一个javascript变量声明中,这样你就可以在页面的其余部分使用变量 dataArray

答案 1 :(得分:0)

如果您使用的是FileMaker Pro 11,请使用其中一个SQL插件进行查询。或者,升级到v12并使用新的SQL命令。

答案 2 :(得分:0)

最简单的方法,可能看起来像一个黑客,但不是,是一个价值观。将值列表设置为以“数字”显示所有值。 FileMaker将自动将所有值合并到以返回分隔的唯一值列表中。然后,您可以通过运行计算来获取列表:

 ValueListItems( Get(FileName) ; "AND-PUT-YOUR-VALUELIST-NAME-HERE")