设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 979|回复: 4
打印 上一主题 下一主题

[与其它组件] [讨论]在sql语句如何正确使用like *

[复制链接]
跳转到指定楼层
1#
发表于 2003-9-18 00:47:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近发现一个很奇怪的问题,在VBA中的sql语句中使用like *作为查询参数创建记录集不成功,特意将该sql语句copy到一个新建查询中,发现没有问题,难道是语法错误?具体代码如下:

VBA代码:
     dim strsql as string
     dim rs as new adodb.recordset
     strsql="select b_id from tblbbb where b_id like '*' "
     rs.open strsql.......
     上面的记录集建立之后,count为0
把strsql的字符串copy到一个新建查询中,执行后count为10。
经过反复检查,发现问题出在like '*'上面,是access的bug还是我的bug呢?

请众高手指正~~~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-9-18 05:48:00 | 只看该作者
在access中使用vba毕竟何在vb6.0中不一样----------有一定的时间延迟。这是我在实践中发现的。我在一本书中好像记得即使在vb中也可能会出现这种现象。
解决办法很简单,加上两句代码:
rs.Requery                    '刷新数据
    rs.MoveLast               '移动到最后一个记录

这样,就会得到正确的记录数。我每次在用代码打开记录集后都会习惯加上这两句。
3#
发表于 2003-9-19 01:29:00 | 只看该作者
得到记录数也许有时并不是最终目的,如何才能正确访问到查找到的记录呢?

点击这里给我发消息

4#
发表于 2003-9-19 02:30:00 | 只看该作者
主要是你的RS.OPEN方法要指定记录集的类型
5#
发表于 2003-9-19 06:18:00 | 只看该作者

rs.Requery                    '刷新数据
    rs.MoveLast               '移动到最后一个记
后就已经可以正确访问到查找到的记录了!!!!!!!!!!!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-23 16:25 , Processed in 0.080224 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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