0

是否有任何类型的 VBA 或 SQL 可以在此表上运行以删除 MS Access 中的重复 ID?

所以这:

ID          data1   data2   data3   
a           1       2       3   
a           8       9       10  
a           15      16      17  
a           22      23      24  
b           1       2       3   
b           8       9       10  
b           15      16      17  
b           22      23      24  
b           29      30      31  
c           1       2       3   
c           8       9       10  
c           15      16      17  
c           22      23      24  
c           29      30      31  
c           36      37      38  

看起来像这样:

ID      data1   data2   data3   
a        1      2       3   
         8      9       10  
         15     16      17  
         22     23      24  
b        1      2       3   
         8      9       10  
         15     16      17  
         22     23      24  
         29     30      31  
c        1      2       3   
         8      9       10  
         15     16      17  
         22     23      24  
         29     30      31  
         36     37      38  
4

3 回答 3

3

您可以将视图用作

select distinct First Name , Last Name from T1

并将此查询另存为 V1 然后您现在有了名字和姓氏,没有重复

现在使用代码

select * from V1 , T1 where V1.First Name =T1.First Name and V1.Last Name=T1.Last Name

我希望这可以帮助您解决您的问题

于 2013-03-12T11:50:36.197 回答
3

类似下面的内容应该清除ID除第一条记录之外的所有列。您可能需要修改ORDER BY以包含另一列,以确保此代码以与导出之后相同的顺序运行。

Dim strKey as String
Dim iCount as Integer
Dim dbs as DAO.Database
Dim rst as DAO.Recordset

strKey = ""
iCount = 0
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("SELECT * FROM MYTABLE ORDER BY ID")
If rst.RecordCount > 0
    rst.MoveFirst
    Do Until rst.EOF
         If strKey <> rst!ID Then
             strKey = rst!ID
             iCount = 1
         End If

         If iCount > 1 Then
             rst.Edit
                 rst!ID = ""
             rst.Update
         End If

         iCount = iCount + 1
         rst.MoveNext
    Loop
End If
rst.Close
Set rst = Nothing
dbs.Close
Set dbs = Nothing
于 2013-03-12T13:23:32.617 回答
0

这将为您提供您的名字、姓氏以及与该名字和姓氏相关的所有数据的总和。

SELECT FirstName, LastName, sum(data1), sum(data2), sum(data3)
FROM MyTableName
GROUP BY FirstName, LastName

这将为您提供如下内容:

First Name  Last Name   data1   data2   data3   
a           z           46      50       54   
b           x           75      80       85  
于 2013-03-12T11:55:52.250 回答