同意,但是timer控件对大的程序来说不适用,可能发生堵塞而不起作用或间隔时间不真实。

解决方案 »

  1.   

    谢谢两位,我的程序不是很大,但是有一个这样的问题,我那个timer是要对一个表中不同记录进行判断的(表中有一字段记录着要timer事件发生的时间)。比如现在有3条记录,时间分别是:1,8:00;   2, 12:00;   3, 16:00.而在程序运行时我又加一条记录,也即第4条,它的时间是18:00,我的意思也就是说,timer事件中的代码不好写好,因为要判断的时间是动态增减的,但timer又要对所有记录中的时间进行判断,那该怎样处理呢?谢谢!
      

  2.   

    在timer事件判断时间执行不同动作,注意时间必须是范围
      

  3.   

    supperdullwolf,谢谢你对我问题的精辟的分析和解答,但是我有一个问题就是,我要读出的多个值是不确定的值,有时增加,有是减少,那么那些定时器又怎样确定呢?因为定时器中的代码我无法在运行时加入呀?
    qqqdong,你好,你所说的那个范围指的是?能告诉我具体一点的吗?
      

  4.   

    你的问题实际上是要检查当前时间是否达到记录中的某一指定时间。
    你的Timer需要完成的任务是不断读取当前时间,它的间隔可以根据你所要求的精度来确定。比如说,要求精度是一分钟,就每分钟触发Timer事件。
    在Timer事件中,可以读取系统当前时间,与记录时间一一比对:dim nowtime as date
    nowtime = format(time(),"hh:nn;ss")
    '降序排列查询所有记录
    set rs = cnn.execute("select * from yourtable order by yourtime desc")
    do until rs.eof
    if nowtime >= rs!yourtime then '假定你的时间字段yourtime是日期时间类型
    msgbox rs!yourtime
    exit do  '只要查到一个较迟的时间,就不再提示其他较早时间
    end if
    rs.movenext
    loop
      

  5.   

    of123,谢谢你,你的例子让我学到很多东西。但我还有一个问题想向你请教一下,如果我是查到多个符合条件的记录时,我都要它提示。如一条时12:00:00,还有一条是12:05:00,但是当查到12:00:00这条时,满足条件出现Msgbox,但用户没有极时去按Msgbox的OK,程序的查寻状态就会停留在这里,如果用户按下OK时已超过12:05:00,那么,那个12:05:00不就会漏过吗?对于这样的问题又要怎样解决呢?
      

  6.   

    请问一下lsr66,Msgbox的模态与非模态是怎样确定的呢?谢谢!
      

  7.   

    自已做一个类似于Msgbox不就成了