3

问题

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

结构

在我继续之前,我应该解释两个相关的表:

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

EntityTable:-EntityName
(CK,无重复) -ClientID
(CK,允许重复)
-ClientName(我过去结构的残余,我想一旦我解决了这个问题,我就不需要这个了)

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

我的复合键 (CK) 也有充分的理由,但我不会对此进行解释——我的整个结构比上面显示的要复杂得多。

表格

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

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

我认为这是一个相当普遍的问题,但在我的浏览中没有找到解决方案。有任何想法吗?

4

1 回答 1

2

这可以通过将 Row Source 更改为:

SELECT ClientID, ClientName & SomeIdentifierForDups FROM ClientTable

改变...

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

其中 ClientID 指的是表单的绑定表。

于 2012-04-20T07:31:51.290 回答