| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1491 人关注过本帖
标题:ADO SQL EXCEL 无法获取首字母开头数据
只看楼主 加入收藏
xxyyx82
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2015-7-16
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:7 
ADO SQL EXCEL 无法获取首字母开头数据
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & App.Path & "\DATA\TEST.XLS"
rs.Open " Select * From [TEST1$A1:Z65535] Where 型号 Like 'P%'", cn, adOpenKeyset, adModeReadWrite, adCmdText
以上代码执行结果为显示所有数据..而不是显示P开头的数据

rs.Open " Select * From [TEST1$A1:Z65535] Where 型号 Like 'P4%'", cn, adOpenKeyset, adModeReadWrite, adCmdText
以上代码执行结果为显示第2个字符为4的数据(比如P4****,H4****,B4****),而不是显示以P4开头的数据

不知道为什么,请各位帮忙看看,谢谢。

2016-11-09 16:20
xss_wl
Rank: 5Rank: 5
等 级:禁止访问
威 望:3
帖 子:100
专家分:315
注 册:2016-10-15
收藏
得分:5 
很明显SQL语句错误
2016-11-09 22:25
xxyyx82
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2015-7-16
收藏
得分:0 
回复 2楼 xss_wl
请帮忙指导下,我是新手,谢谢了。
2016-11-10 08:05
xss_wl
Rank: 5Rank: 5
等 级:禁止访问
威 望:3
帖 子:100
专家分:315
注 册:2016-10-15
收藏
得分:0 
回复 3楼 xxyyx82
早在Access97期间,微软的官方网站就特别作了说明。在Access数据库中,SQL语句中的通配符是*而不是%。所以,你只需将你代码中的%替换为*,应该就能够实现你需要的功能了。
2016-11-10 09:04
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:5 
看看这个语句:
rs.Open " Select * From [TEST1$] Where 型号 Like 'P4%'", cn, 3, 2
[TEST1$]是数据表的名称,如果写成[TEST1$A1:Z65535],好像是VBA中的语句。
程序代码:
cn.Open "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & App.Path & "\ABCD.xls"
rs.Open " Select * From [Sheet1$] Where 型号 Like 'P%'", cn, 3, 2
Do While Not rs.EOF
List1.AddItem rs!型号
rs.MoveNext
Loop

测试了一下没有问题, 'P%'与 'P4%'均正常, 'B%'、 'H%'、 'E%'同样正常。

请不要选我!!!
2016-11-11 15:48
xxyyx82
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2015-7-16
收藏
得分:0 
回复 5楼 ZHRXJR
你好,谢谢指点
我改成了 From [TEST1$] 还是不行...
目前我的做法是  rs.Open " Select * From [TEST1$A1:Z65535] Where Left(型号,1) = 'P'", cn, adOpenKeyset, adModeReadWrite, adCmdText
这样的话是可以的..
还是不解 Like 'P%'为什么会这样.
2016-11-18 16:29
xxyyx82
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2015-7-16
收藏
得分:0 
回复 4楼 xss_wl
谢谢指点,改了下还是不行,应该不是通配符的问题
2016-11-18 16:30
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:0 
回复 6楼 xxyyx82
将你的Excel给我,我调试,因为我的Excel根本没有问题。

请不要选我!!!
2016-11-18 17:13
快速回复:ADO SQL EXCEL 无法获取首字母开头数据
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018639 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved