位置:首頁 > 軟件操作教程 > 辦公軟件 > Excel > 問題詳情

怎么使用SQL語句進行數(shù)據(jù)篩選?

提問人:周麗平發(fā)布時間:2021-07-24

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所示。

image.png

圖1 數(shù)據(jù)篩選結果

繼續(xù)查找其他問題的答案?

回復(0)
返回頂部