使用相关表和文件 > 关于关系
 
关于关系
关系是组织数据的强大方法。使用关系,您可以基于共同字段值、不同字段值或两个或多个字段中值的比较,来联接一个或多个中的数据。
在创建关系之后,您可以执行以下某项操作,以显示相关表的数据:
设计关系数据库,这是一个或多个文件中的一个或多个表,当在一起使用时,可以包含工作所需的所有数据。一次只在一个表中存储数据的每个匹配项,但可以访问和显示任何相关表的这些数据。您可以更改相关数据的任何匹配项,且更改会显示在使用该相关数据的任何位置。
定义查找,以将数据从相关表拷贝到目标表中的字段。拷贝的数据现在存储在两个位置,就如同将其拷贝并粘贴到目标字段。查找的数据在拷贝时处于最新状态,但在拷贝后,它处于静态,除非重新查找或再次触发查找。
重要说明  每次要使用另一个表的数据(关系数据库中的或查找的数据)时,您必须首先定义两个表之间的关系。
例如,典型的销售数据库可能会有这些表:发票表,保存每张发票的记录;产品表,存储产品及其当前价格;系列商品表,存储每个发票系列的销售数据,包括所售商品、数量及其销售价格。因为发票是动态和静态数据的组合,所以您可以使用相关字段和查找两者来显示数据。系列商品表的记录会在发货单布局上的入口中动态显示,每个系列商品的实际销售价格是使用查找输入的,所以即使价格在未来会更改,发票总计仍不会变化。
您可以通过定义两个字段(称为匹配字段)之间的关系来创建关系数据库。这些字段可在不同的表中,或在同一表中(自联接)。根据您在关系中建立的标准,在关系一端上的匹配字段中的值与关系另一端上匹配字段中的值顺利比较时,您可以访问相关数据。
创建了一个关系之后,您可以像在当前表中使用任何字段那样使用相关表的字段:显示布局数据,作为计算公式的一部分,在脚本中,作为另一个关系的匹配字段,等等。
当在入口中显示相关数据时,会显示所有相关记录的值,这取决于用户的访问权限。当相关字段不在入口中时,会显示第一个相关记录的值。请参阅创建显示相关记录的入口
您可以在显示相关记录之前对其排序。当将相关字段直接置于布局上时,您就会看到排序顺序中第一个相关记录的值(如最低或最高值)。当您在入口中显示相关字段时,相关记录会以指定给入口的排序顺序显示,这将优先于关系定义中的任何排序顺序。
注释
您可以将关系基于每个表中的一个或多个匹配字段。匹配字段应是相同类型,例如,数值字段或可返回数值结果的计算字段。
关系始终在两个表之间创建,或如果是自联接关系,则在关系图中相同表的两个匹配项之间创建。您可以在一个系列中连接关系,并从该系列中的任意点访问相关数据,但是每个关系仅会在两个表之间创建。
相关表可以在同一文件、FileMaker 数据源或外部 ODBC 数据源中。请参阅将表添加到关系图访问外部数据源
虽然您可以针对关系中的每个表设置独立的记录排序、创建和删除操作,但是关系是双向的。
因为排序顺序可以指定给入口,所以您可在同一页面上的多个入口中显示单个关系的数据,并可以针对每个入口使用不同的排序顺序。
源表中使用访问权限,以限制或禁止对相关数据的访问。例如,用户必须具有查看相关匹配字段的访问权限,以查看该关系的相关字段。请参阅创建和编辑权限集
相关主题 
关于关系的类型
创建和更改关系