我正在开发一个包含大量重复条目的 MS Access 数据库。问题是有一个学生表,有时有人会用不同的 ID 再次添加该学生,而不是仅仅更新某个学生的信息。我想删除所有重复项(这很痛苦,因为几乎没有任何方法可以区分它们),只需删除重复项就可以了,但其他表可能依赖于重复项。如何将依赖某个 ID 的所有表更改为依赖我选择保留的 ID?
它看起来像这样:
Student ID | L. Name |F. Name ANDY-01 | Andy | Andy ANDY-02 | Andy | Andy
然后在类(class)表中,我会列出 ANDY-01 会修读的类(class),以及 ANDY-02 会修读的类(class)。我想将所有表中包含 ANDY-01 和 ANDY-02 的所有条目合并为 ANDY-01。我该怎么办?
(不用担心我如何区分 ANDY-01 和 ANDY-02)
最佳答案
Riho 的回答+1。要更新多个表,您可以创建如下所示的过程,然后手动更新 ID 值并为每个学生执行该过程。
如果您有一个映射新旧 ID 的表或查询,您可以编写另一个过程来读取该表并为每个学生调用此过程。
Public Sub UpdateStudent()
Dim oldID As String
Dim newID As String
oldID = "ID1"
newID = "ID2"
DoCmd.Execute "update another_table set student_id='" & newID & "' where student_id=" & oldID
DoCmd.Execute "update yet_another_table set student_id='" & newID & "' where student_id=" & oldID
End Sub
关于sql - 如何消除 MS Access 2003 中具有唯一 ID 的重复条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2773193/