在 Ms Access 中创建关系表

Creating relational Tables in Ms Access

我必须将我的第一个问题更改为以下内容:

我有 3 个 table:

客户, 性别, 种族

客户:

ClientID long integer
GenderID long integer
Gender   short text
RaceID   long integer
Race     short text

性别:

GenderID long integer
Gender   short text

种族:

RaceID  long integer
Race    short text

我应该怎么做才能修改主要 table 客户端中的数据 - 这样它们就会根据种族/性别中的内容进行更改 tables

例如:

性别table:

GenderID  Description
       1  Male
       2  Female

客户table:

ClientID GenderID  Gender  DOB
      11       2   Female  1/1/1977
      12       2   Female  1/2/1970
      13       1   Male    1/4/1969

那么,如果我将 ClientID“13”的性别修改为 "Female" 而不是当前的 "Male",那么 GenderID 会自动更改为“2”吗? (并且该 GenderID 不允许使用其他数字)

或者 - 如果我将 ClientID 从 1 修改为 2,我希望将性别更改为 "Female"

再次谢谢你

您不应在模式设计中同时使用字符字段 Race 外键字段 RaceID:您应该只使用后者,RaceID.

你不应该,而且-d-d-d,你不需要。

您的报告等将基于对所有三个 table 的 JOINs 的查询 - 显示 Race.Race("White") 但从不显示 (无意义...) RaceID 整数.

您的输入字段将是组合框,它查询 (例如) Race table 以查找可能的值,绑定到 RaceID 字段.

Clients table 包含最终用户从未真正看到的外键数字。查询 (和组合框参数) 用于引用相应的字符串。

您还应该使用引用完整性约束来确保 Clients.RaceID,如果它不是 NULL,则必须是 Race table 中的值。