2017-09-21xlVBA_蒸发SQL循环查询1
- 'ARRAY("1991","1992","1993","1994","1996","1997","1998","1999","2001")
- Sub ADO_SQL_QUERY_ONE_RNG()
- '应用程序设置
- Application.ScreenUpdating = False
- Application.DisplayAlerts = False
- Application.Calculation = xlCalculationManual
- '错误处理
- On Error GoTo ErrHandler
- '计时器
- Dim StartTime, UsedTime As Variant
- StartTime = VBA.Timer
- '变量声明
- Dim Wb As Workbook
- Dim Sht As Worksheet
- Dim DataSht As Worksheet
- Dim Rng As Range
- Dim Arr As Variant
- Dim EndRow As Long
- Dim DataPath As String
- Dim SQL As String
- '实例化对象
- Set Wb = Application.ThisWorkbook
- DataPath = Wb.Path & "\" & "蒸发214.xlsx" 'Wb.FullName
- 'Set DataSht = Wb.Worksheets("2001")
- 'Set Sht = Wb.Worksheets("result")
- '********************************************************************************************************************
- '对象变量声明
- Dim CNN As Object
- Dim RS As Object
- '数据库引擎——Excel作为数据源
- Dim DATA_ENGINE As String
- 'Select Case Application.Version * 1 '设置连接字符串,根据版本创建连接
- 'Case Is <= 11
- ' DATA_ENGINE = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=YES;IMEX=2';Data Source="
- 'Case Is >= 12
- DATA_ENGINE = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR=YES;IMEX=2'; Data Source= "
- 'End Select
- '数据库引擎——Excel作为数据源
- 'Const DATA_ENGINE As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
- "Extended Properties='Excel 12.0;HDR=YES;IMEX=2'; Data Source= "
- '创建ADO Connection 连接器 实例
- Set CNN = CreateObject("ADODB.Connection")
- 'On Error Resume Next
- '创建 ADO RecordSet 记录集 实例
- Set RS = CreateObject("ADODB.RecordSet")
- '连接数据源
- CNN.Open DATA_ENGINE & DataPath
- '********************************************************************************************************************
- 'dataname = Array("1991", "1992", "1993", "1994", "1996", "1997", "1998", "1999", "2001")
- dataname = Array("2002", "2003", "2004", "2006", "2007", "2008", "2009", "2011", "2012", "2013", "2014")
- For i = LBound(dataname) To UBound(dataname)
- On Error Resume Next
- Wb.Worksheets(dataname(i) & "坐标").Delete
- On Error GoTo 0
- Set Sht = Wb.Worksheets.Add(after:=Wb.Worksheets(Wb.Worksheets.Count))
- Sht.Name = dataname(i) & "坐标"
- With Sht
- EndRow = .Cells(.Cells.Rows.Count, 2).End(xlUp).Row
- .Cells.ClearContents
- .Range("A1:F1").Value = Array("站点", "经度", "纬度", "年", "数据", "数据除10")
- Set Rng = .Range("A2")
- '设置查询语句
- SQL = "SELECT 站点,经度,纬度,年,SUM(值),SUM(值)/10 FROM [" & dataname(i) & "$A1:G] WHERE 站点 IS NOT NULL GROUP BY 站点,经度,纬度,年"
- Debug.Print SQL
- '执行查询 返回记录集
- 'RS.Open SQL, CNN, 1, 1
- Set RS = CNN.Execute(SQL)
- '复制记录集到指定Range
- Rng.CopyFromRecordset RS
- End With
- Next i
- '关闭记录集
- RS.Close
- '关闭连接器
- CNN.Close
- '运行耗时
- UsedTime = VBA.Timer - StartTime
- ErrorExit: '错误处理结束,开始环境清理
- Set Wb = Nothing
- Set Sht = Nothing
- Set Rng = Nothing
- '释放对象
- Set RS = Nothing
- Set CNN = Nothing
- Application.ScreenUpdating = True
- Application.DisplayAlerts = True
- Application.Calculation = xlCalculationAutomatic
- Exit Sub
- ErrHandler:
- If Err.Number <> 0 Then
- MsgBox Err.Description & "!", vbCritical, "错误提示!"
- 'Debug.Print Err.Description
- Err.Clear
- 'Resume ErrorExit
- End If
- End Sub
2017-09-21xlVBA_蒸发SQL循环查询1的更多相关文章
- sql遍历查询结果sql循环查询结果集sql循环查询
--查询表B,把查询到的数据插入临时表#A中,根据表B 的ID 进行排序:表#A中 的 i 字段 由1开始增加排序: SELECT ROW_NUMBER() OVER ( ORDER ...
- sql循环查询树形结构
pid:父类别id ' connect by prior pid = id --查询父祖类别 union ' connect by prior id = pid;--查询子孙类别 这样查询出选中id ...
- 在论坛中出现的比较难的sql问题:32(row_number函数+子查询 sql循环取差值)
原文:在论坛中出现的比较难的sql问题:32(row_number函数+子查询 sql循环取差值) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. sql循环取差值,该怎 ...
- [转] 利用SET STATISTICS IO和SET STATISTICS TIME 优化SQL Server查询性能
首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET ...
- 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效
数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都 ...
- SQL联合查询两个表的数据
刚有个项目,需要查询水位数据表中的水位信息,及查询降雨量表中统计时段降雨量的数据,以计算出日降雨量,而且时段是前一天8时到后一天8时总共24个小时. 两个子查询: 1.根据当前时间判断统计前天8时到今 ...
- 利用SET STATISTICS IO和SET STATISTICS TIME 优化SQL Server查询性能
首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET ...
- 通过一个小问题来学习SQL关联查询
原话题: 是关于一个left join的,没有技术难度,但不想清楚不一定能回答出正确答案来: TabA表有三个字段Id,Col1,Col2 且里面有一条数据1,1,2 TabB表有两个字段Id,Col ...
- SQL Server查询性能优化——堆表、碎片与索引(二)
本文是对 SQL Server查询性能优化——堆表.碎片与索引(一)的一些总结. 第一:先对 SQL Server查询性能优化——堆表.碎片与索引(一)中的例一的SET STATISTICS IO之 ...
随机推荐
- pillow生成验证码
1.结果 2.安装pillow cmd里进入python,pip install pillow,需要等一段时间 3.代码 from PIL import Image, ImageDraw, Image ...
- Install Apache Maven on Ubuntu
Download the Apache maven from this link https://maven.apache.org/download.cgi, extract the download ...
- default activity not found的问题
莫名其妙的同一个project下的所有modlue全都出现了这个问题,在网上查了一些解决方法,总结一下就是在运行时把default activity改成nothing,这个把活动都搞没了肯定不行.还有 ...
- topcoder srm 415 div1
problem1 link 每次贪心地从crans由大到小地找到一个能搬得动地尽量大地box即可. problem2 link 首先,$hava$可以全部换成钱,然后就是找到一个最小的钱减去自己已有的 ...
- topcoder srm 689 div1 -3
1.给出一个$2*n$的矩阵,只包含小写字母.重新排列各个元素使得任意两个相邻的元素不相同? 思路:按照每种字符的数量降序排序,然后从多到少依次放每一种.放的时候一上一下交错放置. #include ...
- FireMonkey 源码学习(6)
(6)GetGlyph和GetBaseline TFontGlyphManager是一个抽象类,在不同平台上的实现是不同的,以Windows为例,在FMX.FontGlyphs.Win.pas文件中定 ...
- linux下如何使make只输出执行过程中的命令序列
答: make -n (-n.--just-print.--dry-run.--recon等价)
- git删除远程分支文件,不改变本地文件
git提交项目时候踩的Git的坑 特别 由于准备春招,所以希望各位看客方便的话,能去github上面帮我Star一下项目 https://github.com/Draymonders/Campus-S ...
- P3605 [USACO17JAN]Promotion Counting晋升者计数
思路 线段树合并的板子.. 和子节点合并之后在值域线段树上查询即可 代码 #include <cstdio> #include <algorithm> #include < ...
- [nginx] - 使用nginx实现反向代理,动静分离,负载均衡,session共享
反向代理概念 先说正向代理,比如要访问youtube,但是不能直接访问,只能先找个FQ软件,通过FQ软件才能访问youtube. FQ软件就叫做正向代理.所谓的反向代理,指的是用户要访问youtube ...