如何更新相同的字段但不同的表

时间:2014-06-30 12:21:08

标签: sql ms-access macros

美好的一天!

首先,我是制作数据库的新手,所以我真的希望那里的专业人士可以启发我。我目前正在研究学生评分数据库。每个学生有10个科目(数学,科学等)。每个科目都有4个评分期。现在就是这样。

我正在使用MS Access 2013

让我们来看一个主题:数学。我有5张桌子:

 1. student_profile
 2. math_1st_grading
 3. math_2nd_grading
 4. math_3rd_grading
 5. math_4th_grading

上面的每个表都包含一个字段:学生姓名。

我有一个student_profile表的表单。我想要做的是当我使用表格将数据输入学生姓名时,所有数学评分表的学生姓名字段将被更新。

我正在考虑为每个数学表进行更新查询,并使用宏同时运行它们。但我不知道该怎么做。这对我来说只是一个想法。

我也阅读了一些想法,比如即使在表单中进行“更新后”,但我对宏和表达式构建器不太了解。

请帮我解决这个问题。也许我真的不太了解我的表格,请为此提供一些解决方案。

非常感谢您的回复。谢谢

1 个答案:

答案 0 :(得分:0)

这是一个糟糕的数据库设计。看看你在谈论的实体:学生,科目和评分时期。所以很可能你需要这些表格。

  • 学生(student_id,名字,姓氏,入围日期......
  • 主题(subject_id,名称
  • 评分(grading_id,名称

然后,您将这些结合在一个表格中,以获得每个学生的科目和评分:

  • student_subject (student_id,subject_id,grading_id,结果

因此,当学生的姓名发生变化时,您只需要更新数据库中的一条记录。添加主题后,只需在主题表中再插入一条记录即可。等等。

然而,这只是一个例子。通过这种设计,您可以让学生拥有不同的科目。如果不希望这样,另一种模式可能会更好。但它应该给你这个想法。首先想想你正在处理的实体,然后考虑它们是如何相关的。