美文网首页Excel 加油站
Access/VBA/Excel-14-消除重复值

Access/VBA/Excel-14-消除重复值

作者: Data_Python_VBA | 来源:发表于2017-12-27 20:39 被阅读3次

    微信公众号原文

    系统:Windows 7
    软件:Excel 2010 / Access 2010

    • 这个系列开展一个新的篇章,重点关注Access数据库
    • 主体框架:以Excel作为操作界面,Access作为数据库
    • 今天讲讲,如何从存在重复值的字段中消除重复,同样的信息只保留一个
    • 涉及知识:ADOSQL:Select

    Part 1:题目

    1. 从地址表中获取含有的省份信息,结果是:广东省,湖南省,安徽省
    2. 那么怎么使用SQL实现呢

    地址数据表

    1.png

    Part 2:代码

    Sub test()
        Dim cnn As New ADODB.Connection '连接
        Dim rs As New ADODB.Recordset
        Dim SQL As String
        Dim tblName
        Dim dbAddr
        
        dbAddr = ThisWorkbook.Path & "\地址信息.accdb"
        tblName = "地址"
    
        '连接数据库
        With cnn
            .Provider = "Microsoft.ACE.OLEDB.12.0"
            .Open "Data Source=" & dbAddr
        End With
        
        opFilds = "省份"
    
        SQL = "Select distinct " & opFilds & " from " & tblName
        
        Set rs = cnn.Execute(SQL)
    
        Dim sht
        Dim fildNum
        
        Set sht = ThisWorkbook.Worksheets("示例")
        sht.Cells.ClearContents
        
        fildNum = rs.Fields.Count
        For j = 0 To fildNum - 1 Step 1
            fildName = rs.Fields(j).Name
            sht.Cells(1, j + 1) = fildName
        Next j
        
        sht.Cells(2, 1).CopyFromRecordset rs
        
        cnn.Close
        Set rs = Nothing
        Set cnn = Nothing
    
    End Sub
    

    代码截图

    2.png

    执行结果

    3.png

    Part 3:部分代码解读

    1. 核心SQLSelect distinct 省份 from 地址
    2. 中文释义:
    • 地址中获取省份字段非重复的值
    • 关键字:distinct,在字段前加上这个关键字,输出值中就没有重复值

    核心SQL

    4.png

    本文为原创作品,如需转载,可加小编微信号learningBin

    以上为本次的学习内容,下回见

    如发现有错误,欢迎留言指出


    更多精彩,请关注微信公众号
    扫描二维码,关注本公众号

    公众号底部二维码.jpg

    相关文章

      网友评论

        本文标题:Access/VBA/Excel-14-消除重复值

        本文链接:https://www.haomeiwen.com/subject/uwkpgxtx.html