MS Access - 通过选择表单中的链接名称来选择ID

时间:2012-04-20 07:26:21

标签: database forms ms-access relational-database

问题

我目前正在改变我的MS Access数据库,使其以客户端ID而不是客户端名称为中心。但是我的所有表单仍然基于客户名称。我需要将其更改为基于客户端ID,但我希望它仍然只显示给用户的客户端名称。

结构

在进一步讨论之前,我应该解释两个相关的表格:

ClientTable:
- ClientID(PK)
- ClientName(索引,无重复)

EntityTable:
- EntityName(CK,没有重复)
- ClientID(CK,允许重复)
- ClientName(我过去的结构的遗留物,我想我一旦把这个问题整理出来就不需要这个)

关键关系:一个客户有很多实体

我的复合键(CK)也有很好的理由,但我不会解释 - 我的整个结构比上面显示的要复杂得多。

表格

回到表格。目前我有一个“实体”表单,其中包含一个EntityName文本框和一个ClientName下拉框。

我想要发生的是,客户端名称下拉框在视觉上和功能上对用户来说是相同的(即,在创建新实体时,用户选择客户端名称),但需要发生的是它实际上是在选择客户端ID并将其与该记录相关联。

我认为这是一个相当常见的问题,但在我的浏览中没有找到解决方案。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这可以通过将行源更改为:

来简单地解决
SELECT ClientID, ClientName & SomeIdentifierForDups FROM ClientTable

改变......

Control source : ClientID  
Column count   : 2
Column widths  : 0; 2

其中ClientID引用表单的绑定表。