设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] [求助]如何查找是否存在记录并跳出循环

[复制链接]
跳转到指定楼层
1#
发表于 2007-1-24 18:12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面的两个循环当出现找不到记录的时候怎么跳出循环呢?

  inta = 0
  inid = DateSerial(Year(DateAdd("m", -3, Now())), Month(DateAdd("m", -3, Now())), 1)
  rs.Open "查询结果", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  rs.MoveLast
       Do Until rs.Fields("发生日期") < inid
            rs.MovePrevious
       Loop
       Do Until inta >= (cq - 0.001) * 10000
            inta = inta + rs("出货金额")
            inid = rs("发生日期")
            rs.MovePrevious
       Loop

请高手帮忙看看!谢谢先!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2007-1-24 21:59:00 | 只看该作者
解决了。先记录第一条,然后判断是否回到了第一条,是则跳出循环。
3#
发表于 2007-1-24 22:54:00 | 只看该作者
Do Until rs.Fields("发生日期") < inid
            rs.MovePrevious
Loop
有可能死掉
4#
 楼主| 发表于 2007-1-25 01:00:00 | 只看该作者
大师说的对!第一个循环会死啊!
5#
 楼主| 发表于 2007-1-25 01:11:00 | 只看该作者
改成这样,暂时通过,不知道还有什么隐患?

inta = 0
inidq = DateSerial(Year(DateAdd("m", -6, Now())), Month(DateAdd("m", -6, Now())), 1)
rs.Open "查询结果", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs.MoveFirst
inida = rs("发生日期")
rs.MoveLast
Do Until rs.Fields("发生日期") < inidq
     inid = rs("发生日期")
     If inid = inida Then
        MsgBox inid & "之前没有记录"
        Exit Do
     End If
     rs.MovePrevious
Loop
Do Until inta >= (cq - 0.001) * 10000
     inta = inta + rs("出货金额")
     inid = rs("发生日期")
     If inid = inida Then

         MsgBox inid & "之前没有记录"

     Exit Do
     End If
     rs.MovePrevious
Loop
6#
发表于 2007-1-25 04:37:00 | 只看该作者
没看清你具体用意.试试先用条件筛选

inta = 0
inidq = DateSerial(Year(DateAdd("m", -6, Now())), Month(DateAdd("m", -6, Now())), 1)
rs.Open "select * from 查询结果 where 发生日期< inidq", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If rs.EOF Then
  MsgBox "没有记录"

  Exit Sub
End If
7#
 楼主| 发表于 2007-1-25 22:22:00 | 只看该作者
谢谢andymark大师!

您给的答案正是我需要的,不仅消除隐患,而且速度也大大加快了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-23 12:41 , Processed in 0.112747 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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