设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] 相同语句, 换了sql语句后就不能执行了?

[复制链接]
跳转到指定楼层
1#
发表于 2006-6-15 18:45:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Dim rs
Set rs = CurrentDb.OpenRecordset("SELECT 人员号ID, 姓名, 推介人ID FROM 人员资料 where 推介人ID <> 0 ORDER BY  人员资料.推介人ID;")
MsgBox rs.RecordCount


返回 206


Dim rs
Set rs = CurrentDb.OpenRecordset("SELECT 人员号ID, 姓名, 推介人ID FROM 人员资料")
MsgBox rs.RecordCount


返回 1

但 表中 合计 有 207 条 记录已经上传了文件



[此贴子已经被作者于2006-6-15 11:16:37编辑过]

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-6-15 18:50:00 | 只看该作者
增加下面的语句再试试

rs.MoveFirst
rs.MoveLast
3#
发表于 2006-6-15 18:50:00 | 只看该作者
1、将表及要求结果贴出来看看;

2、ID有可能为NULL。
4#
 楼主| 发表于 2006-6-15 19:18:00 | 只看该作者
试过 不行

rs.MoveFirst
rs.MoveLast

ID没有NULL



感谢!
5#
发表于 2006-6-15 19:35:00 | 只看该作者
修改为下面,显示207 正常

sql = "SELECT 人员号ID  FROM 人员资料"
Set rs = CurrentDb.OpenRecordset(sql)
rs.MoveFirst
rs.MoveLast
MsgBox rs.RecordCount
6#
 楼主| 发表于 2006-6-15 19:44:00 | 只看该作者
这是什么原因呢? 如果遇到 记录集 没有数据, 是无法移动指针的, 会出错的.

有更好的解决方案吗? 除了使用 ADO 外.

感谢!
7#
发表于 2006-6-15 21:45:00 | 只看该作者
可以用EOF加以判断,你的例子可以修改为

Dim rs As Recordset
Dim rs2 As Recordset
Dim i As Long
Dim sql As String

sql = "SELECT 人员号ID  FROM 人员资料"
Set rs = CurrentDb.OpenRecordset(sql)
Do While Not rs.EOF
    Set rs2 = CurrentDb.OpenRecordset("SELECT 人员号ID  FROM 人员资料 where 推介人ID = " & rs!人员号ID)
    If Not rs2.EOF Then
    rs2.MoveFirst
    rs2.MoveLast
   
    MsgBox rs2.RecordCount
     rs2.Close
     End If
    rs.MoveNext
  
   Loop

rs.Close
8#
发表于 2006-6-15 22:04:00 | 只看该作者
以下是引用andymark在2006-6-15 11:35:00的发言:


修改为下面,显示207 正常

sql = "SELECT 人员号ID  FROM 人员资料"
Set rs = CurrentDb.OpenRecordset(sql)
rs.MoveFirst
rs.MoveLast
MsgBox rs.RecordCount



DAO建立记录集,如果的是非数据表的建立的,均要加上

rs.MoveFirst
rs.MoveLast

才能正常显示记录数量。
9#
 楼主| 发表于 2006-6-16 08:43:00 | 只看该作者
完全明白 感谢 大家!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 01:20 , Processed in 0.095308 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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