【问题标题】:Creating a Filemaker layout to add 0 to n records to a record in another table.创建 Filemaker 布局以将 0 到 n 条记录添加到另一个表中的记录。
【发布时间】:2011-09-14 15:34:05
【问题描述】:

我有 3 个表格(为清楚起见,我只列出了一些字段):

表 1ID描述1

表 2IDDescription2

表 3IDTable1IDTable2ID

基本上我正在使用 表 3 创建多对多连接(并通过关系选项卡链接了各种 ID,并将 ID 字段设置为自动创建)。我希望能够使用 Table 1 中的所有记录创建一个布局,并允许用户在下拉列表中从 Table 2 中选择 0 到 n 个项目。

到目前为止,我有一个包含 Table 1 Description 1 字段的布局,并尝试放置一个带有 Description 2 字段的门户表 2。然后,我通过检查器和 Table 2 在 Values from: property 中将控件样式更改为下拉菜单。

我不确定这是否可能或正确的方法。我希望 Filemaker 会使用关系图并创建必要的记录(基本上是 表 3 中的条目将两者链接在一起),但我收到以下错误:“此操作不能因为一个或多个所需的相关记录不可用且无法创建。"

任何帮助将不胜感激,请在 Filemaker 新手上轻松一点:o)

【问题讨论】:

    标签: database-design layout many-to-many filemaker


    【解决方案1】:

    第一步是创建您的价值列表(这不是关系图的一部分)。您可以在文件 > 管理 > 值列表中执行此操作。

    您可以创建一个新的值列表并告诉它使用字段中的值(第一个单选选项,未在图像中选择):

    使用字段中的值对话框中,您可以选择同时显示第二个字段中的值(id 是第一个,描述是第二个),包括所有值,并且只显示第一个字段的值(向用户隐藏 id)。

    您是正确的,您的关系图将为您完成创建相关记录和填写键的工作。它应该是这样的:

    请务必在您的关系中选中“允许通过此关系在此表中创建记录”,具体如下:

    正如您所说,您的布局基于表 1,而您的门户网站查看表 3。 “显示垂直滚动条”将允许您创建无限数量的相关记录。如果不选择该选项,您将受限于门户中的行数。

    就是这样。保存布局,在表一中创建记录,您可以通过关系图创建相关记录,无需编写脚本。

    您正在存储 id 并显示描述。

    【讨论】:

    • 聪明的泰德,开始绝望了。这就像我想要的那样工作。我已经勾选了允许在这个表中创建记录......对于表 1 而不是表 3,修复了这个问题,所有的作品都是一种享受。即使在创建时选中了该框,我的垂直滚动条也没有显示在门户上,这只是一个小问题。我会调查那个。再次干杯,戴夫。
    • 等等,我想我可能误解了,我给你的代码不会做你想做的事。我将在今天晚些时候尝试更新此内容,但现在必须坐地铁。
    • 我现在很困惑。您的原始答案(在编辑之前)也做了我想要的,我看不出它有什么问题以及为什么这种方法更好。告诉过你我是新手 :o)
    • 最初的答案看起来只是在表面上工作。创建一些记录,然后在表视图中查看所有 3 个表。您应该看到原始答案有什么问题(错误的表和字段中的数据)。
    【解决方案2】:

    这几乎是正确的;您需要有一个到表 3 的入口,允许通过此关系创建记录,将 Table3::Table2ID 放在那里,并将其格式化为弹出菜单。菜单的值列表必须基于Table2,包括Table2::ID和Table2::Description2;您可能只想显示第二列。

    当您从菜单中选择一个项目时,FileMaker 将在 Table3 中添加一条具有所需 ID 的新记录(或更改现有记录,如果您正在修改一行)。

    【讨论】:

    • 谢谢米哈伊尔,我会试一试,让你知道我的进展如何。戴夫
    • 这完全正确。我之前弄错了。我更新的答案是您建议的屏幕截图策略。对于之前误解您的回答,我深表歉意。如果你编辑你的答案,我可以投票。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多