日期:2014-05-18 浏览次数:20705 次
Sub aa() Dim cn As New ADODB.Connection Dim rs As New Recordset Str1 = "select 区域,内=SUM(case when 新替换区内外='替换区内' then 1 else 0 end ),外=SUM(case when 新替换区内外='替换区外' then 1 else 0 end ) from 宏站 group by 区域" strcn = "Provider=sqloledb;Database=test;Uid=sa;Pwd=30687724;data source=127.0.0.1,1433;" cn.Open strcn rs.Open Str1, cn Dim i For i = 1 To rs.Fields.Count Cells(1, i) = rs.Fields(i - 1).Name Range("a2").CopyFromRecordset rs Next i End Sub
------解决方案--------------------
#3有错,我写的是导出,导入到SQL应该是下面这个:
Dim cnn As New ADODB.Connection strcn = "Provider=sqloledb;Database=小区系统;Uid=sa;Pwd=30687724;data source=127.0.0.1,1433;" cnn.Open strcn Dim y As Long Dim arr '数据太大,现在分5次导入 '第一次 arr = Range("a1:ak90000") For y = 1 To UBound(arr, 1) ssql = "INSERT INTO [201108(1-30)] VALUES ('" & arr(y, 1) & " ','" & arr(y, 2) & " ','" & arr _ (y, 3) & " ','" & arr(y, 4) & " ','" & arr(y, 5) & " ','" & arr(y, 6) & " ','" & arr(y, 7) & " ','" & arr _ (y, 8) & " ','" & arr(y, 9) & " ','" & arr(y, 10) & " ','" & arr(y, 11) & " ','" & arr(y, 12) & " ','" & arr _ (y, 13) & " ','" & arr(y, 14) & " ','" & arr(y, 15) & " ','" & arr(y, 16) & " ','" & arr(y, 17) & " ','" & arr _ (y, 18) & " ','" & arr(y, 19) & " ','" & arr(y, 20) & " ','" & arr(y, 21) & " ','" & arr(y, 22) & " ','" & arr _ (y, 23) & " ','" & arr(y, 24) & " ','" & arr(y, 25) & " ','" & arr(y, 26) & " ','" & arr(y, 27) & " ','" & arr _ (y, 28) & " ','" & arr(y, 29) & " ','" & arr(y, 30) & " ','" & arr(y, 31) & " ','" & arr(y, 32) & " ','" & arr _ (y, 33) & " ','" & arr(y, 34) & " ','" & arr(y, 35) & " ','" & arr(y, 36) & " ','" & arr(y, 37) & " ')" cnn.Execute ssql Next y Erase arr Set ssql = Nothing cnn.Close Windows(" 优化统计指标(0-23).txt").Close SaveChanges:=False Sheets("sheet1").Range("a1000").End(xlUp).Offset(1, 0) = maxh Next x
------解决方案--------------------
还有个方法就是,如果你是用的EXCEL2007,可以点“数据”——自它来源——MICRSSOFT query 进行一看就明白了,
得先建立连接数据源!