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

本文介绍了如何在Access中使用SQL去除字段中的重复值,以Excel作为操作界面,Access作为数据库。通过核心SQL语句`DISTINCT`来确保输出的省份信息唯一,从而实现数据去重。

微信公众号原文

系统: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值