excel sql語句篩選重復數(shù)據(jù) 使用SQL語句進行數(shù)據(jù)篩選的方法,這個問題是我們很多人都很困惑的一個問題,excel sql語句篩選重復數(shù)據(jù)是我們非常常用的一個東西,也是我們工作和學習中必不可少的一個數(shù)據(jù)公式,那么具體我們要怎么做呢?下面就來看看這篇excel sql語句篩選重復數(shù)據(jù) 使用SQL語句進行數(shù)據(jù)篩選的方法的文章吧!
在使用VBA對數(shù)據(jù)庫進行訪問時,利用SQL語句能夠方便地實現(xiàn)對數(shù)據(jù)庫的查詢。本文使用SQL語句實現(xiàn)多條件查詢,使用Select語句從“成績管理.accdb”數(shù)據(jù)庫文件中獲取1班中數(shù)學和語文成績均大于98分的學生記錄,記錄使用For…Next結構寫入工作表的單元格。本文圖文介紹使用SQL語句進行數(shù)據(jù)篩選的具體操作方法。
1、啟動Excel并打開工作表,打開Visual Basic編輯器,在工程資源管理器中插入一個模塊,在模塊的“代碼”窗口中輸入如下程序代碼:
Public Sub數(shù)據(jù)篩選()
Dim mydata As String,mytable As String,SQL As String '聲明變量
Dim cn As ADODB.Connection '聲明連接對象變量
Dim rs As ADODB.Recordset '聲明記錄集對象
Dim i As Integer '聲明計數(shù)變量
ActiveSheet.Cells.Clear '清空單元格
mydata=ThisWorkbook.Path&"成績管理.accdb" '指定數(shù)據(jù)庫文件
mytable="成績表" '指定工作表
Set cn=New ADODB.Connection '創(chuàng)建連接對象變量
With cn
.Provider="microsoft.ace.oledb.12.0" '指明OLEDB提供者
.Open mydata '打開數(shù)據(jù)庫
End With
SQL="select*from"&mytable_&"where(班級= '1')and(數(shù)學>=98 or語文>=98)"'創(chuàng)建數(shù)據(jù)篩選命令
Set rs=New ADODB.Recordset '創(chuàng)建記錄集對象記錄
rs.Open SQL,cn,adOpenKeyset,adLockOptimistic '復制字段名
For i=1 To rs.Fields.Count
Cells(1,i)=rs.Fields(i-1).Name '將字段名寫入單元格
Next i
Range("A2").CopyFromRecordset rs '復制數(shù)據(jù)
rs.Close '關閉記錄集對象
cnn.Close '關閉連接對象
Set rs=Nothing '刪除記錄集對象變量
Set cn=Nothing '刪除連接對象變量
End Sub
2、按F5鍵運行該程序,“成績管理”數(shù)據(jù)庫中“班級”為“1”,“語文”和“數(shù)學”成績均大于98分的數(shù)據(jù)被篩選到工作表中,如圖1所示。
圖1 數(shù)據(jù)篩選結果