根据在另一个字段中输入的值自动填充访问中的字段

Auto populating a field in access based on the value entered in another field

我有一个当前包含两个 table 的数据库,第一个 table 被命名为 "tblUser",其中包含有关个人用户的详细信息,第二个 table 被命名为 "tblTime" 包含每个用户将输入的实际数据。

这些 table 包含名为 "UserLogin" 和 "Operator" 的列,当数据输入到 tblTime 时,Operator 字段将等于 UserLogin 字段中的值。

然后我希望根据 tblUser 中 ContactedHours 字段的值在 tbltime 中设置字段 ContractedHours。

tblUser

ID    UserLogin   ContractedHours
1     Ollie       8:00
2     Ryan        6:00

tblTime

ID    Operator   ContactedHours
1     Ollie          x
2     Ryan           y
3     Ollie          x

我已经展示了上面 table 的示例。 tblTime 的 ID 将是连续的,因为这个 table 正在进行,所以我不能 link 这两个 ID。

您不需要在两个 table 中复制数据。尝试将时间 table 映射到用户 table:

而不是此方法

tblUser

UserID    UserName   
1         Ollie      
2         Ryan   

tblTime

ID  UserID   ContractedHours
1     1          x
2     2          y
3     3          x

此方法确保您没有任何重复值,并且 tblTime 将使用 ID 字段作为它的键,因此您可以根据需要拥有尽可能多的 UserID 实例。

我自己通过多次重新设计这个数据库解决了这个问题,一种方法是在数据库中设置一个字段:

SELECT t.ContractedHours
FROM tblUser AS t
WHERE t.UserLogin = Operator;

然而,到目前为止,最有效的方法是创建一个 UserID 字段,它是一个字母数字值,总是 等于另一个运算符字段中的值table。我在两个字段之间创建了关系,并允许 ContractedHours 字段自动填充。