设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[ADO/DAO] 用DAO,总是RecordCount =1

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2015-6-18 18:27:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 doney88 于 2015-6-18 18:33 编辑

代码如下:
Dim db As DAO.Database
Dim rsFilterProducts As DAO.Recordset


strSql = "Select * From tblProduct  Where FProductID In (SELECT tblProduct_SKU.FProductID FROM (表_采购_物料数据 INNER JOIN tblOrder ON 表_采购_物料数据.FMaterialID = tblOrder.FMaterialID) INNER JOIN tblProduct_SKU ON 表_采购_物料数据.FMaterialID = tblProduct_SKU"

    Set db = CurrentDb
    Set rsFilterProducts = db.OpenRecordset(strSql)
        Debug.Print rsFilterProducts.RecordCount


为什么RecordCount 始终等于 1 呢? 我改用ado 也试过,RecordCount 则等于 -1 ...
是db错误了吗?还是openrecordset 的时候设置没有设置好?
我将查询Sql 直接用Access 的查询生成的查询是有结果的,大家请看图。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
 楼主| 发表于 2015-6-18 18:41:38 | 只看该作者
问题解决了! 我改用Ado 打开
用这样的方式即可。
rsFilterProducts.Open strSql, cn, adOpenKeyset

这个问题是因为如果要点数,必须有键集类型的集合,就好像一个表格必须要有主键,才能以确定一个主键算一条记录。这样才能数数。

个人比较老土的理解,希望能帮助到大家。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-6 00:19 , Processed in 0.106830 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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