1、启动Excel并打开工作表,打开Visual Basic编辑器,在工程资源管理器中插入一个模块,在模块的“代码”窗口中输入如下程序代码:
Public Sub数据筛选()
Dim mydata As String,mytable As String,SQL As String '声明变量
Dim cn As ADODB.Connection '声明连接对象变量
Dim rs As ADODB.Recordset '声明记录集对象
Dim i As Integer '声明计数变量
ActiveSheet.Cells.Clear '清空单元格
mydata=ThisWorkbook.Path&"\成绩管理.accdb" '指定数据库文件
mytable="成绩表" '指定工作表
Set cn=New ADODB.Connection '创建连接对象变量
With cn
.Provider="microsoft.ace.oledb.12.0" '指明OLEDB提供者
.Open mydata '打开数据库
End With
SQL="select*from"&mytable_&"where(班级= '1')and(数学>=98 or语文>=98)"'创建数据筛选命令
Set rs=New ADODB.Recordset '创建记录集对象记录
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 '复制数据
rs.Close '关闭记录集对象
cnn.Close '关闭连接对象
Set rs=Nothing '删除记录集对象变量
Set cn=Nothing '删除连接对象变量
End Sub
2、按F5键运行该程序,“成绩管理”数据库中“班级”为“1”,“语文”和“数学”成绩均大于98分的数据被筛选到工作表中,如图1所示。
图1 数据筛选结果
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>