|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
SQLtest 通用模块,使用很方便,但我却取不出表头,不知道为什么,代码如下,请高手帮看看。- '---------------LQC---AdoQuery通用程序---(开始)--------------------------------------------------------------------------------------------------------------
- Sub LqcAdoQuery(cSourceFile, cDestSheet, cDestRang, nReadOnly, cSelect)
- '从cSourceFile文件(全路径)中取数,Sql语句是cSelect,结果存入cDestSheet表的cDestRang开始的块中,nReadOnly为防止多次ADO多次连接自身内存无法释放 1时生效 其他不生效。
- On Error Resume Next
- If nReadOnly = 1 Then '防死机标识为1时
- Application.DisplayAlerts = (1 = 2)
- Application.ScreenUpdating = (1 = 2)
- ThisWorkbook.ChangeFileAccess xlReadOnly '转为只读
- End If '防死机标识为1时
- Set cn = CreateObject("ADODB.Connection")
- cn.Open "dsn=excel files;dbq=" & cSourceFile '打开链接
- Sheets(cDestSheet).Range(cDestRang).CopyFromRecordset cn.Execute(cSelect) '放置查询结果
- Set cn = Nothing '对象置空,释放内存
-
- If nReadOnly = 1 Then '防死机标识为1时
- ThisWorkbook.ChangeFileAccess xlReadWrite
- Application.DisplayAlerts = (1 = 1)
- Application.ScreenUpdating = (1 = 1)
- End If '防死机标识为1时
- On Error GoTo 0
- End Sub
- '---------------LQC---AdoQuery通用程序---(结束)-----------------------------------------------------------------------------------
- Sub test()
- begin = Time
- Sheet2.Cells.ClearContents
- LqcAdoQuery _
- cSourceFile:=ThisWorkbook.FullName, _
- cDestSheet:="Sheet2", _
- cDestRang:="a1", _
- nReadOnly:=1, _
- cSelect:="SELECT [ADD GTRX$].所属文件 AS BSC, [ADD GTRX$].CELLID, [ADD GTRX$].TRXID, [ADD GTRX$].TRXNO, [ADD GTRX$].FREQ, [ADD GTRX$].IDTYPE, [ADD GTRX$].ISMAINBCCH FROM [ADD GTRX$] WHERE ((([ADD GTRX$].ISMAINBCCH)='YES')) ORDER BY [ADD GTRX$].TRXID"
- MsgBox "总共用时" & (Time - begin) & "s"
- End Sub
复制代码 附件
SQLtest.rar
(249.85 KB, 下载次数: 8)
[ 本帖最后由 sxk 于 2011-4-21 20:02 编辑 ] |
|