设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3229|回复: 17
打印 上一主题 下一主题

[查询] SQL里使用了LIKE以后出现的奇怪问题(已解决)

[复制链接]
跳转到指定楼层
1#
发表于 2010-9-2 23:41:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 STD 于 2010-9-14 16:00 编辑

本人在窗体中建有一子窗体,数据来源于查询表AA
sql="BB WHERE F2 LIKE '*" & ME.TEXT1 & "*'"
Set QDF = CurrentDb.QueryDefs("AA")
QDF.SQL = SQL
Me.Child0.SourceObject = "查询.AA"
Me.Child0.Requery
运行成功,子窗体中已经显示出正确的结果(600+记录),但是在使用
Set Rst = New ADODB.Recordset
SQL=“SELECT COUNT(F1) AS 笔数 FROM AA”
RST.Open SQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
DEBUG.PRINT .Fields(0)
结果是:0
如果将sql="AA WHERE F2 LIKE '*" & ME.TEXT1 & "*'"改成sql="AA WHERE F2 ='" & ME.TEXT1 & "'"
结果正确(600+记录数),不知何故?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
18#
 楼主| 发表于 2010-9-12 23:17:32 | 只看该作者
本帖最后由 STD 于 2010-9-12 23:23 编辑
ADO里不可以用"*",必须用"%"。
huisiming 发表于 2010-9-9 22:37

把sql="BB WHERE F2 LIKE '*" & ME.TEXT1 & "*'"
改为
sql="BB WHERE F2 LIKE '%" & ME.TEXT1 & "%"
sql汇总语句结果正确,但查询明细数据为空值了。
与使用“*”时相反:
使用“*”得到了正确的查询明细结果,只不过对该查询执行汇总统计的sql语句时得到空值。


17#
发表于 2010-9-9 22:37:06 | 只看该作者
ADO里不可以用"*",必须用"%"。
16#
 楼主| 发表于 2010-9-9 20:07:44 | 只看该作者
回复 STD 的帖子
找了二天,还没找不出原因,实在是奇怪,前一段使用精确查询(也就是用“=”)时,后一段的统计数据能够准确显示,但使用模糊查询(也就是用“LIKE”)时,能够在子窗体中更新后显示正确,但后一段的sql语句统计数据却显示为NULL?

   
15#
 楼主| 发表于 2010-9-7 12:55:02 | 只看该作者
本帖最后由 STD 于 2010-9-7 12:59 编辑

回复 koutx 的帖子

sql="SELECT COUNT(F1) AS 笔数,Sum(F2) as 汇总金额 From AA"
DEBUG.PRINT .Fields(0) ,.Fields(1)
0     NULL
   
14#
发表于 2010-9-6 20:37:40 | 只看该作者
点发送回复,提示系统内部出现错误,没想到却一下了发了这么多条。可怕。
13#
发表于 2010-9-6 20:34:04 | 只看该作者
DEBUG.PRINT .Fields(0)
12#
发表于 2010-9-6 20:33:40 | 只看该作者
DEBUG.PRINT .Fields(0)
11#
发表于 2010-9-6 20:33:18 | 只看该作者
DEBUG.PRINT .Fields(0)
10#
发表于 2010-9-6 20:32:57 | 只看该作者
DEBUG.PRINT .Fields(0)    ?????
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-22 15:36 , Processed in 0.095631 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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