多标准关系
在多重标准关系中,您可以增加匹配字段的数目,这会增加 FileMaker Pro 在顺利联接相关记录之前解析的标准。FileMaker Pro 会在关系的每一端以字段出现的顺序比较每个匹配字段的值。这称为 AND 比较;为了顺利匹配,每个匹配字段都必须在其他表中的相同字段找到相应值。
此关系采用以下标准进行定义:
表 |
字段名 |
注释 |
表A |
文本字段A |
匹配字段至文本字段B 和数值字段B |
|
数值字段A |
匹配字段至文本字段B 和数值字段B |
表B |
文本字段B |
匹配字段至文本字段A 和数值字段A |
|
数值字段B |
匹配字段至文本字段A 和数值字段A |
根据此关系中的标准,表A 中文本字段A 值为蓝色且数值字段A 值为 123 的记录仅匹配表B 中文本字段B 和数值字段B 的值分别为蓝色和 123 的记录。如果文本字段A 和文本字段B 具有匹配值,但数值字段A 和数值字段B 没有匹配值,关系就不会返回相关记录。
表 |
记录号 |
字段名 |
值 |
相关记录? |
表A |
1 |
文本字段A |
蓝色 |
是 |
|
2 |
文本字段A |
蓝色 |
否 |
|
3 |
文本字段A |
红色 |
是 |
表B |
1 |
文本字段B |
蓝色 |
是 |
|
2 |
文本字段B |
红色 |
是 |
|
3 |
文本字段B |
蓝色 |
是 |
创建多标准关系
在本例中,使用具有以下三个表的数据库创建多标准关系:
- 设备,存储设备租赁库存
- 客户,存储客户姓名和地址
- 供应行项目,存储每次设备出租的记录,包括设备 ID、客户 ID 和事件日期
此数据库可以跟踪设备出租,并按所选客户或所选日期显示所有出租。
- 多标准关系发生在客户表和供应行项目表之间。创建具有以下字段的表:
- 在“编辑关系”对话框中,将“客户 ID”和“事件日期”定义为客户表和供应行项目表之间的关系中的匹配字段。
- 在“客户”表中,将“客户 ID”字段设置为自动输入序列号,“客户”表中每条记录都有一个唯一的 ID 号码。
- 在“供应行项目”表中,选择“允许通过此关系创建记录”。
关系图中的表如下所示:
- 在客户布局上添加入口,并在入口添加“客户::设备 ID”字段。
表 |
字段名 |
注释 |
客户 |
客户 ID |
数值字段,自动输入序列号;针对供应行项目表的其中一个匹配字段 |
|
事件日期 |
日期字段;针对供应行项目表的其他匹配字段 |
供应行项目 |
客户 ID |
数值字段;针对“客户”表的其中一个匹配字段 |
|
事件日期 |
日期字段;针对“客户”表的其他匹配字段 |
|
设备 ID |
数值字段 |
要创建新的相关记录,请在“客户::事件日期”字段中输入当前日期,然后在“客户”布局的入口中输入设备 ID 号码。
因为“事件日期”字段是匹配字段,并且关系允许在供应行项目表中创建相关记录,所以在“供应行项目::事件日期”字段中会自动输入“客户::事件日期”中的值。
要查看以前日期的出租,请更改“客户::事件日期”字段中的值。FileMaker Pro 会显示所有具有相同客户 ID 和事件日期的相关记录。