关系数据库的用户界面:基本功能

时间:2012-07-31 14:10:44

标签: ms-access user-interface rdbms foreign-key-relationship

这有点令人尴尬,但已经有一段时间了。

当使用关系数据库并通过primary:foreign键连接到单独的表时,在1-∞中,这样,在特定的表中,表的外部关系返回一个整数ID ...你怎么去做这个关系可以理解用户?

例如:

您有公司

  • CID
  • 公司名称
  • CompanyLocation
  • CompanyBusinessType

等(不是实际的列名)

员工

  • EID
  • 的firstName
  • DOB
  • 电子邮件
  • 公司

员工公司与CID相关。但是,由于关系的性质,一些用户输入有关员工的信息必须知道特定公司的ID代码。您可以运行查询以返回'CompanyName'以及随后可以搜索的相关'CID',但此密码几乎不是理想的解决方案。我只是记不起人们如何处理这个问题的理论,尽管我确信我之前已经做过了。我需要在Microsoft Access 2010和Microsoft SSMS(单独的数据库fwiw)中实现它;但是一旦我记得它是如何完成的,执行应该相对简单!

2 个答案:

答案 0 :(得分:3)

创建一个包含2列的组合框。一列作为公司名称,另一列作为公司ID。如果您不希望用户看到它,可以将公司ID的宽度设置为0.

可以使用MS-Access Forms上的“属性表”来完成此操作

将组合框的行来源设置为: SELECT CompanyName, CompanyID FROM Company;

将组合框的控件来源设置为:Employee.CompanyID

还要确保行源类型设置为Table/Query

答案 1 :(得分:0)

如果您需要多对多关系(许多员工属于许多公司),那么您将需要另一个表CompanyEmployees,如下所示: -

Many to many relationship example

如果员工只属于一家公司,那么这种结构就可以了: -

simple relationship

在任何一种情况下,您都需要在添加/编辑用户以将用户与一个或多个公司关联时向用户显示某种形式的下拉列表。