ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 Office知识技巧免费学 打造核心竞争力的职场宝典
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 216|回复: 13

[求助] sql查询求助

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-2-27 13:45 | 显示全部楼层 |阅读模式
查询条件在AA列就是查询不出数据,别的列就可以,AA列数据空白行超过8行,随便添加一个数据在8个空白行就可以查询很是奇怪,用is not null也查询不到。 测试表.rar (217.82 KB, 下载次数: 118)

TA的精华主题

TA的得分主题

发表于 2020-2-27 14:09 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2020-2-27 14:53 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2020-2-27 15:03 | 显示全部楼层
where [贷款投向名称1] = '[居民服务、修理和其他服务业]'"??这一句有问题

TA的精华主题

TA的得分主题

发表于 2020-2-27 15:11 | 显示全部楼层
本帖最后由 zzj198237 于 2020-2-27 15:20 编辑

      Sub opendate(cnn As Object)  ' 链接数据库
    Dim Str_cnn As String
    Dim myPath As String
    Dim myneme As String
    '以上是第一步,后期绑定ADO
    'mypath = Sheets("基础表设置").Range("A:C").Find("数据库路径:", LookAt:=xlPart).Column
    myPath = ThisWorkbook.FullName
    'myname = ThisWorkbook.Name
    '以上获取当前工作簿的路径及名称
    If Application.Version < 12 Then
        '格式为.xls,调用下述语句
        Str_cnn = "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;hdr = yes;imex=3;Data Source=" & myPath
    Else
        '格式为.xlsx,调用下述语句
        Str_cnn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & myPath
        'Str_cnn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & myPath
    End If
    cnn.Open Str_cnn '建立数据库连接
End Sub

Sub cx()
    Dim cnn As Object, rs As Object, strSQL As String, col1 As Byte, adds As String
    Dim sh1 As Sheet2
    Set sh1 = Sheet2
    Set cnn = CreateObject("adodb.connection")
    Set rs = CreateObject("ADODB.Recordset") '创建记录集对象记录
    Call opendate(cnn)
    strSQL = "select sum([借据余额]) from [" & sh1.Name & "$A1:AH1000]"
     rs.Open strSQL, cnn, 1, 3
     Sheet1.Range("A2").CopyFromRecordset rs
End Sub

image.png

TA的精华主题

TA的得分主题

发表于 2020-2-27 15:23 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-27 15:36 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-27 15:37 | 显示全部楼层
zzj198237 发表于 2020-2-27 15:03
where [贷款投向名称1] = '[居民服务、修理和其他服务业]'"??这一句有问题

试过了没用

TA的精华主题

TA的得分主题

发表于 2020-2-27 15:52 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2020-2-27 16:02 | 显示全部楼层
这是VBA ADO的一个先天的不足,文本数值混合时,不管用imex=0还是imex=1,都无法两种类型的数据同时读取到,要统一起来。如图在红线标记处加上这样一句代码,现来运行,就都可以全取到了。
原因.JPG
测试表.zip (269.44 KB, 下载次数: 1)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关注官方微信,高效办公专列,每天发车

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

GMT+8, 2020-4-6 04:44 , Processed in 1.082081 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

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

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

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