SQL ADODB Recordset select distinct按字母顺序排列

时间:2016-11-25 16:35:54

标签: sql vba adodb

我在VBA中使用ADODB记录集。当我在ADODB记录集的SQL查询中使用Select Distinct时,结果按字母顺序排列。我需要按照数据中的顺序排列结果。这可能吗?

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

DatPath = ThisWorkbook.Path & "\Temp\" & TB.Name

strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DatPath & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"

cn.Open strCon

strSQL = "SELECT Distinct(Period) from [Data$] "


rs.Open strSQL, cn, 3, 3

ThisWorkbook.Sheets("ADO Out").Cells.Clear
ThisWorkbook.Sheets("ADO Out").Activate
ThisWorkbook.Sheets("ADO Out").Cells(1, 1).CopyFromRecordset rs

1 个答案:

答案 0 :(得分:0)

以下两个解决方法都涉及检索所有brew reinstall ncurses 条记录。

Period将删除重复项,同时保留订单

Range.RemoveDuplicates

使用Sub UnorderedPeriod() Dim DatPath As String, strCon As String, strSQL As String Dim cn As Object, rs As Object Set cn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") DatPath = ThisWorkbook.Path & "\Temp\" & TB.Name strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DatPath & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";" cn.Open strCon strSQL = "SELECT [Period] from [Data$]" rs.Open strSQL, cn, 3, 3 With ThisWorkbook.Sheets("ADO Out") .Cells.Clear .Cells(1, 1).CopyFromRecordset rs .Activate .Columns(1).RemoveDuplicates Columns:=1 End With End Sub 删除重复项

ArrayList