前沿拓展:
order by
select * from table where id >=10 and id<=15 order by id desc
忘了between … and …是否包括边界了。
ORDER BY的语句使用对于ORDER BY 语句而言,默认值是升序排列,通常是不指定它。但升序的关键词为ASC,降序为DESC。 语法结构如下::
SELECT 列字段名 FROM [工作表名称$] ORDER BY 指定列字段名 升序(降序)
使用实例说明:
源数据:
查询内容
对英语成绩进行降序排列:
对英语成绩进行升序排列:
代码运行的结果如下:
代码如下:
Sub FuYun_Sql_paixu()
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 * FROM [成绩单$] ORDER BY 英语 asc ”
‘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
代码解析
代码我放了一个例子,大部分的代码是一致的,只有SQL的句子不一样。
如果需要两列排序的SQL语句如下:
Sql = “SELECT * FROM [成绩单$] ORDER BY 英语 asc,数学 asc
点击关注可以更方便的查看Excel VBA的案例文章私信 SQL 可以获取SQL代码的Excel文件私信 视频 可以获取54集VBA入门视频私信 VBA或 vba 可以获取文章中含VBA代码的Excel文件
拓展知识:
前沿拓展:
order by
select * from table where id >=10 and id<=15 order by id desc
忘了between … and …是否包括边界了。
ORDER BY的语句使用对于ORDER BY 语句而言,默认值是升序排列,通常是不指定它。但升序的关键词为ASC,降序为DESC。 语法结构如下::
SELECT 列字段名 FROM [工作表名称$] ORDER BY 指定列字段名 升序(降序)
使用实例说明:
源数据:
查询内容
对英语成绩进行降序排列:
对英语成绩进行升序排列:
代码运行的结果如下:
代码如下:
Sub FuYun_Sql_paixu()
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 * FROM [成绩单$] ORDER BY 英语 asc ”
‘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
代码解析
代码我放了一个例子,大部分的代码是一致的,只有SQL的句子不一样。
如果需要两列排序的SQL语句如下:
Sql = “SELECT * FROM [成绩单$] ORDER BY 英语 asc,数学 asc
点击关注可以更方便的查看Excel VBA的案例文章私信 SQL 可以获取SQL代码的Excel文件私信 视频 可以获取54集VBA入门视频私信 VBA或 vba 可以获取文章中含VBA代码的Excel文件
拓展知识:
前沿拓展:
order by
select * from table where id >=10 and id<=15 order by id desc
忘了between … and …是否包括边界了。
ORDER BY的语句使用对于ORDER BY 语句而言,默认值是升序排列,通常是不指定它。但升序的关键词为ASC,降序为DESC。 语法结构如下::
SELECT 列字段名 FROM [工作表名称$] ORDER BY 指定列字段名 升序(降序)
使用实例说明:
源数据:
查询内容
对英语成绩进行降序排列:
对英语成绩进行升序排列:
代码运行的结果如下:
代码如下:
Sub FuYun_Sql_paixu()
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 * FROM [成绩单$] ORDER BY 英语 asc ”
‘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
代码解析
代码我放了一个例子,大部分的代码是一致的,只有SQL的句子不一样。
如果需要两列排序的SQL语句如下:
Sql = “SELECT * FROM [成绩单$] ORDER BY 英语 asc,数学 asc
点击关注可以更方便的查看Excel VBA的案例文章私信 SQL 可以获取SQL代码的Excel文件私信 视频 可以获取54集VBA入门视频私信 VBA或 vba 可以获取文章中含VBA代码的Excel文件
拓展知识:
前沿拓展:
order by
select * from table where id >=10 and id<=15 order by id desc
忘了between … and …是否包括边界了。
ORDER BY的语句使用对于ORDER BY 语句而言,默认值是升序排列,通常是不指定它。但升序的关键词为ASC,降序为DESC。 语法结构如下::
SELECT 列字段名 FROM [工作表名称$] ORDER BY 指定列字段名 升序(降序)
使用实例说明:
源数据:
查询内容
对英语成绩进行降序排列:
对英语成绩进行升序排列:
代码运行的结果如下:
代码如下:
Sub FuYun_Sql_paixu()
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 * FROM [成绩单$] ORDER BY 英语 asc ”
‘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
代码解析
代码我放了一个例子,大部分的代码是一致的,只有SQL的句子不一样。
如果需要两列排序的SQL语句如下:
Sql = “SELECT * FROM [成绩单$] ORDER BY 英语 asc,数学 asc
点击关注可以更方便的查看Excel VBA的案例文章私信 SQL 可以获取SQL代码的Excel文件私信 视频 可以获取54集VBA入门视频私信 VBA或 vba 可以获取文章中含VBA代码的Excel文件
拓展知识:
原创文章,作者:九贤生活小编,如若转载,请注明出处:http://www.wangguangwei.com/78536.html