在Access数据库table中,顺序字段必须是唯一的,但只有当记录之间的学生ID匹配时
In Access database table, sequential field must be unique, but only when student ID matches between records
我正在维护一个用于学生招生的 Access 数据库。我有一个主要的 table,其中包含传记信息,还有一个次要的 table,其中包含申请信息,并允许每个学生进行多次申请(每个学生都有一个唯一的学生 ID;该 ID 存储在两者中tables 是应用程序与学生匹配的方式。
每个应用程序都分配了一个 "Application Number,",每个学生只能有一个指定编号的应用程序(即学生 A 不能有两个编号为“1”的应用程序,但可以有 1、2 和 3 ).
我想创建某种验证规则来防止重复,但整个列不是唯一的...它仅与指定的学生相关。
有没有办法创建这样的规则,或者我应该以不同的方式排列我的数据?如果这意味着更高效的工作流程,我愿意进行更改。
我希望这是有道理的...我不确定如何最好地描述它。感谢您的帮助。
如果您期望进行数据输入的用户提供有效的唯一 "application number",那么您要查找的规则将是 StudentId
和 [=] 上的唯一索引11=]。 (请记住,您可以创建一个包含多列的索引。)这意味着每对 StudentId
和 ApplicationNumber
必须是唯一的。
但是,我要注意,要求用户在输入数据时必须自己提供一个唯一的申请编号,这对用户来说非常不友好。
考虑以下备选方案:
让数据库建议一个唯一的申请编号。或者,更好的是,
在填写申请时甚至不要建议任何号码,而是在提交申请时发出一个唯一的申请号码.或者,更好的是,
停止在数据库中存储申请编号,而是让数据库计算它们,只有在需要显示它们时,才根据应用程序的用户标识和数据输入日期。 (注意:如果一个学生有 3 个应用程序,并且应用程序 #2 被删除,那么旧的应用程序 #3 将重新编号为 #2,从而造成混乱。因此,这只有在不允许删除的情况下才有效。)
我正在维护一个用于学生招生的 Access 数据库。我有一个主要的 table,其中包含传记信息,还有一个次要的 table,其中包含申请信息,并允许每个学生进行多次申请(每个学生都有一个唯一的学生 ID;该 ID 存储在两者中tables 是应用程序与学生匹配的方式。
每个应用程序都分配了一个 "Application Number,",每个学生只能有一个指定编号的应用程序(即学生 A 不能有两个编号为“1”的应用程序,但可以有 1、2 和 3 ).
我想创建某种验证规则来防止重复,但整个列不是唯一的...它仅与指定的学生相关。
有没有办法创建这样的规则,或者我应该以不同的方式排列我的数据?如果这意味着更高效的工作流程,我愿意进行更改。
我希望这是有道理的...我不确定如何最好地描述它。感谢您的帮助。
如果您期望进行数据输入的用户提供有效的唯一 "application number",那么您要查找的规则将是 StudentId
和 [=] 上的唯一索引11=]。 (请记住,您可以创建一个包含多列的索引。)这意味着每对 StudentId
和 ApplicationNumber
必须是唯一的。
但是,我要注意,要求用户在输入数据时必须自己提供一个唯一的申请编号,这对用户来说非常不友好。
考虑以下备选方案:
让数据库建议一个唯一的申请编号。或者,更好的是,
在填写申请时甚至不要建议任何号码,而是在提交申请时发出一个唯一的申请号码.或者,更好的是,
停止在数据库中存储申请编号,而是让数据库计算它们,只有在需要显示它们时,才根据应用程序的用户标识和数据输入日期。 (注意:如果一个学生有 3 个应用程序,并且应用程序 #2 被删除,那么旧的应用程序 #3 将重新编号为 #2,从而造成混乱。因此,这只有在不允许删除的情况下才有效。)