如何在MS Access 2003中删除具有唯一ID的重复条目?

时间:2010-05-05 12:38:22

标签: sql database ms-access ms-access-2003

我正在使用大量重复条目的MS Access数据库。问题是有一个学生表,有时候不仅仅是更新某个学生的信息,有人会再次使用不同的ID添加学生。我想摆脱所有的重复(这是一个痛苦,因为几乎没有任何方法可以区分它们),只要删除重复项就可以了,除了其他表可能依赖于副本。如何更改依赖于某个ID的所有表依赖于我选择保留的ID?

这是它的样子:

 Student ID | L. Name |F. Name

 ANDY-01    | Andy    |  Andy

 ANDY-02    | Andy    |  Andy

然后在课程表中,我会有ANDY-01将要参加的课程,以及ANDY-02课程。我想合并所有将ANDY-01和ANDY-02作为ANDY-01的表中的所有条目。我该怎么做呢?

(不要担心我如何区分ANDY-01和ANDY-02)

2 个答案:

答案 0 :(得分:2)

你只需要做一些更新SQL:

update another_table set student_id=:ID2 where student_id=:ID1

答案 1 :(得分:2)

+1 Riho的回答。要更新多个表,您可以创建如下所示的过程,并手动更新ID值并为每个学生执行该过程 如果您有一个映射旧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