0

我正在将一个可怕的数据库从 Lotus Approach '97 迁移到 MS Access 2010。这是我第一次使用 access,但是我熟悉 SQL。

我有一张Events表和一张Clients表。这些客户实际上是个人公司。有一个名为ClientEvents的连接表,它将事件的代理主键链接到客户端的代理主键。(即事件和客户之间存在多对多关系)。

我的问题是,每当我尝试显示特定事件的 ClientEvents 表时,结果只是一个代理键列表。这对不认识这些代理键的客户没有用,但是一旦我尝试进行多连接或子查询以从相关表中选择个人/公司的名称,查询/表单就是不可更新。

大概这个问题很常见,因为代理键必须定期显示在子表中可识别的字段旁边?

我曾尝试以连续形式使用 DLookup,但这非常慢。这种设计在访问中肯定很常见吗?还是我试图太聪明地实施适当的关系设计。访问真的能够进行这样的设计吗?

4

1 回答 1

1

您应该能够将子表单(连续或其他)与 ComboBox 一起使用。如果您正在为您的客户制作表单,请在 ClientID 上制作一个具有主子关系的子表单。在子表单中添加一个组合框,其中包含对事件表的查询的 ControlSource:

SELECT DISTINCT EventID, EventName FROM EVENTS

然后在 ComboBox 属性上,使列数 = 2,列宽 = 0";1"(这将使 EventID不可见并且 EventName 为 1 英寸宽)。

子表单中的 ComboBoxes应该是可更新的。那应该让你开始。

于 2013-05-07T11:34:06.197 回答