Database design 创建Filemaker布局以将0到n条记录添加到另一个表中的记录。

Database design 创建Filemaker布局以将0到n条记录添加到另一个表中的记录。,database-design,layout,many-to-many,filemaker,Database Design,Layout,Many To Many,Filemaker,我有3个表(为了清楚起见,我只列出了一些字段): 表1(ID,说明1) 表2(ID,说明2) 表3(ID、表1ID、表2ID) 基本上,我使用表3创建多对多连接(并通过关系选项卡链接各种ID,并设置要自动创建的ID字段)。我希望能够使用表1中的所有记录创建布局,并允许用户在下拉列表中从表2中选择0到n项 到目前为止,我有一个包含表1说明1字段的布局,并尝试从表2放置一个包含说明2字段的门户。然后,我通过inspector将控件样式更改为下拉,并在Values from:属性中表2 我甚至不确定这

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

表1(ID,说明1)

表2(ID,说明2)

表3(ID、表1ID、表2ID)

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

到目前为止,我有一个包含表1说明1字段的布局,并尝试从表2放置一个包含说明2字段的门户。然后,我通过inspector将控件样式更改为下拉,并在Values from:属性中表2

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


任何帮助都将不胜感激,请对Filemaker新手放松:o)

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


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

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

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

进入“使用字段中的值”对话框后,您可以选择也显示第二个字段中的值(id为第一个,说明为第二个),包括所有值,并且仅显示第一个字段中的值(对用户隐藏id)

您的关系图将为您创建相关记录并填写关键字,这是正确的。应该是这样的:

在关系中选中“允许通过此关系在此表中创建记录”非常重要,如下所示:

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

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

您正在存储id并显示描述


谢谢米哈伊尔,我会试一试,让你知道我的进展如何。达维思说得完全正确。早些时候我错了。我的最新答案是你用截图建议的策略。很抱歉我误解了你先前的回答。如果你修改你的答案,我可以投它一票。聪明的泰德开始绝望了。这正是我想要的。我已经勾选了表中允许创建的记录。。。对于表1而不是表3,修复了该问题,并对所有工作进行了处理。只是一个小问题,我的垂直滚动条没有显示在门户上,即使在创建时选中了该框。我会调查的。再次干杯,戴夫。等等,我想我可能误解了,我给你的代码不能满足你的要求。今天晚些时候我会尝试更新这个,但现在我得上地铁了。我现在很困惑。你的原始答案(在编辑之前)也达到了我的要求,我看不出有什么问题,也看不出为什么这种方法更好。我告诉过你我是个新手:o)最初的答案看起来只是在表面上起作用。创建一些记录,然后在表视图中查看所有3个表。您应该看到原始答案有什么问题(数据在错误的表格和字段中)。