TOP在SQL语句中的感化 TOP的利用按顺序提取记录
SELECT TOP 3 * FROM [工作表名$]
提取前面3笔记录.改变3为想要提取的数字,便可以实现想获得的记录 本例中利用的SQL语句以下:
SELECT TOP 3 * FROM [Sheet1$]
利用实例说明:
源数据:
查询内容
对英语成就前三个数据:
对英语成就前三名:
代码运转的成果以下:
代码以下:
Sub FuYun_Sql_Top() Dim cnn As Object, rst As Object Dim Mypath As String, Str_cnn As String, Sql As String Dim i As Long Set cnn = CreateObject("adodb.connection") '以上是第一步,前期绑定ADO Mypath = ThisWorkbook.FullName '以上获得当前工作簿的途径及称号 If Application.Version < 12 Then '格式为.xls,挪用下述语句 Str_cnn = "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & Mypath Else '格式为.xlsx,挪用下述语句 Str_cnn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & Mypath End If cnn.Open Str_cnn '以上是第二步,建立链接 ' Sql = "SELECT TOP 3 * FROM [英语-成就单$] " 'Sql语句,查询所稀有据,并依照英语成就停止排序 [f2:i1000].ClearContents '清空[e1:i1000]地区内容 Range("f2").CopyFromRecordset cnn.Execute(Sql) 'Execute语句先履行SQL语句 '利用单元格工具的CopyFromRecordset方式将SQL查询到的内容复制到D2单元格为左上角的单元格地区 '以上是第三步,履行SQL语句并将数据读入表格指定地区 cnn.Close '封闭链接 Set cnn = Nothing '开释内存End Sub
代码剖析