ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1964|回复: 6

[求助] SQL取本表数据,返回值是F1什么意思?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-7-17 10:13 | 显示全部楼层 |阅读模式
两个问题:
都是在SQL语句出的问题
1、按照下列程序走,SHEET7表格汇总A1单元格返回值是F1.
2、如果把SQL语句中的SHEET1改成SHEET2,系统提示Microsoft access数据库引擎找不到对象sheet2$a:g.
请大神给看看。谢谢啦。

Sub CopyData_5()
With Sheet7
.Cells.Clear
Set Cnn = CreateObject("ADODB.Connection")

With Cnn
.Provider = "microsoft.Ace.oledb.12.0"
.ConnectionString = "Extended Properties=Excel 12.0;" _
& "Data Source=" & ThisWorkbook.FullName
.Open
End With
Set rs = CreateObject("ADODB.Recordset")
Sql = "select * from [Sheet1$a:g]"
Set rs = Cnn.Execute(Sql)
      For i = 0 To rs.Fields.Count - 1
      Cells(1, i + 1) = rs.Fields(i).Name
      Next
        Range("a2").CopyFromRecordset rs
End With
rs.Close
Cnn.Close
Set rs = Nothing
Set Cnn = Nothing
End Sub

微信截图_20180717101201111.png
微信截图_20180717100704.png

配送统计分析表180716 - 副本.zip

165.46 KB, 下载次数: 3

TA的精华主题

TA的得分主题

发表于 2018-7-17 10:21 | 显示全部楼层
select 语句中的【sheet1】指的是工作表名字,按照你的描述,可能你想要的是:
Sql = "select * from [运营日报$a:g]"

同上,你工作表里,没有名字为【sheet2】的工作表,所以提示找不到对象

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-17 10:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
起初的想法是,用SQL做一些聚合查询能比VBA快点,但是SQL对数据的格式要求太多了,大神给支支招,如果要取部分区域查询该怎么办?

TA的精华主题

TA的得分主题

发表于 2018-7-17 10:28 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-7-17 10:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
完全没有数据 可能引发错误

F1 可能是没有标题

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-17 10:31 | 显示全部楼层
opiona 发表于 2018-7-17 10:28
http://club.excelhome.net/thread-859194-1-1.html

谢谢,看了大神您的大作,改了下表格变成就可以了。非常感谢指导!

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-17 11:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
forwjds 发表于 2018-7-17 10:21
select 语句中的【sheet1】指的是工作表名字,按照你的描述,可能你想要的是:
Sql = "select * from [运 ...

对的,感谢。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-10 02:42 , Processed in 0.022726 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表