Ms access MS Access 2016--将外键表中的值作为本机表字段公开?

Ms access MS Access 2016--将外键表中的值作为本机表字段公开?,ms-access,ms-access-2016,Ms Access,Ms Access 2016,我看到,在构建MS Access表(我们称之为“Person”)时,我可以使用字段定义的“lookup”选项卡,将其作为另一个表主键的外键,为“Person”的“数据表视图”指定一个用户友好的UI 换句话说,如果我在“Person”中构建的字段是“CompanyID”,我可以让它的用户界面在下拉列表中显示“Company”表中的“ID”和“Name”,以便于将数据输入该字段 我还看到,在构建MS Access表时,我可以使用“表达式”向表中添加计算字段——但表达式编辑器只允许我引用同一表中的其他

我看到,在构建MS Access表(我们称之为“Person”)时,我可以使用字段定义的“lookup”选项卡,将其作为另一个表主键的外键,为“Person”的“数据表视图”指定一个用户友好的UI

换句话说,如果我在“Person”中构建的字段是“CompanyID”,我可以让它的用户界面在下拉列表中显示“Company”表中的“ID”和“Name”,以便于将数据输入该字段

我还看到,在构建MS Access表时,我可以使用“表达式”向表中添加计算字段——但表达式编辑器只允许我引用同一表中的其他字段。(换句话说,它适用于将名+姓连接成全名等情况。)

最后,我知道我可以使用“关系”在Person.CompanyId&Company.Id上指定“Person”和“Company”之间的PK-FK关系,然后构建一个查询,公开Person.FirstName、Person.LastName、Company.Name和Company.Country等信息,然后在该查询之上构建一组“表单”和“报告”基础结构

然而,我当前的项目涉及重构一个现有数据库,该数据库在“Person”表上构建了许多基础设施,如果可以的话,我希望避免为自己做额外的工作

数据库的用户需要快速参考访问,以查看公司详细信息,如“公司国家”,同时浏览“个人”记录(假定Person.CompanyId由company.Id中的值填充)


在Access 2016中,是否有任何方法可以直接在“Person”表上创建一个名为“CompanyCountry”的字段(事实上,最好是只读的),该表公开Company.Country的值(如果Person.CompanyId实际上没有解析为真正的Company.Id值,则会出现类似null的优雅失败)?

避免和使用查询!始终使用表单(您可以将其显示为带有数据表视图的表)和报表进行用户数据访问,因此您可以使用代码和事件控制用户操作。我同意不在表中设置查找,特别是当查找涉及别名时,我更希望看到保存的实际值。简单地回答您的问题-不。构建查询和表单。在表单上构建组合框。用户不应直接使用表和查询,而应仅使用表单和报表。您可以将查找设置为组合框,但无论这看起来多么聪明,它都不是聪明的,只是潜在和严重问题的来源。听@BitAccesser和6月7日。