Office中国论坛/Access中国论坛

标题: 无限时等待提示例子 [打印本页]

作者: 咱家是猫    时间: 2010-4-9 11:59
标题: 无限时等待提示例子
本帖最后由 咱家是猫 于 2011-8-11 17:00 编辑

很久以前发过一次很基础的思路性例子,但当时很粗糙,现在有空,刚好有人问起这个问题,就做成一个相对适用型的例子,发出来大家共享之.

在这个例子中,主要是在实现一种无法预知一个过程需要多长时间能够执行完毕,但要告诉用户当前再在做什么,不要让用户以为是死机了.
例子中附了一个小附件Wait.ocx,其实就是另一个MDB(人为改了后辍名而已),因为如果想实现动画效果,在单一一个例程里是无法实现的,这是Access的限制.
在本库中也有一个等待提示框窗体(frmWaitBox),这个其实是一个预备提示框,这个提示框是无动画效果的.建它的用意是因为前者是另附的,有可能会被用户挪来挪去挪丢了,不能因为没有它而耽误正常的代码执行而预备的.也就是说,所以在当前库的路径中没有找到Wait.ocx,那么程序会自动启用本身自带的这个无动画效果的临时替代提示.
--------------本段论述在例子里有附



  1. Option Compare Database

  2. Private WaitApp As New Access.Application

  3. Public Property Let WaitTitle(Waitstr As String)

  4. On Error Resume Next

  5. Dim WaitFile As String
  6. DoCmd.Hourglass True
  7. WaitFile = CurrentProject.Path & "\Wait.ocx"
  8. If Dir(WaitFile) = "" Then
  9. DoCmd.OpenForm "frmWaitBox"
  10. Forms("frmWaitBox").TitleLabel.Caption = Waitstr
  11. Forms("frmWaitBox").Repaint
  12. Else
  13. DoEvents
  14. WaitApp.OpenCurrentDatabase WaitFile
  15. WaitApp.DoCmd.OpenForm "frmWaitBox"
  16. With WaitApp.Forms("frmWaitBox")
  17. !TitleLabel.Caption = Waitstr
  18. End With
  19. End If

  20. End Property

  21. Private Sub Class_Terminate()

  22. On Error Resume Next

  23. DoCmd.Close acForm, "frmWaitBox"
  24. WaitApp.CloseCurrentDatabase
  25. Set WaitApp = Nothing
  26. DoCmd.Hourglass False

  27. End Sub
复制代码


作者: yanwei82123300    时间: 2010-4-9 12:36
坚决支持猫老师
作者: 5988143    时间: 2010-4-9 13:24
先加分,在學習一下~
作者: leijiqiang    时间: 2010-4-9 14:56
绝对好东东~
作者: zxklzxm1983    时间: 2010-4-9 15:14


学习
作者: laiguiyou    时间: 2010-4-9 17:07
在windows 7下不能正常显示
作者: 咱家是猫    时间: 2010-4-9 17:45
在windows 7下不能正常显示
laiguiyou 发表于 2010-4-9 17:07

是的,主要是用户控制要关掉,在Windows7下就是这点烦人.
作者: koutx    时间: 2010-4-9 21:21
先行谢过了
作者: goto2008    时间: 2010-4-9 21:54
谢谢分享,收藏先
作者: asklove    时间: 2010-4-10 09:57
谢谢分享
作者: laiguiyou    时间: 2010-4-10 11:58
非常好的东西,以前那个我也一直在用。现在换windows 7了,只是点了后那个进度条出不来。
作者: heqing3000    时间: 2010-4-21 21:52
太棒了,收藏了,谢谢楼主。
作者: niculas    时间: 2024-8-6 15:49
努力回复挣小钱钱呀




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3