开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1398|回复: 1
打印 上一主题 下一主题
收起左侧

[Access] 在Access中用Repaint方法显示即时信息

[复制链接]

跳转到指定楼层
楼主
发表于 2013-2-4 09:33:16 | 只看该作者 回帖奖励 |正序浏览 |阅读模式   山东省聊城市
access数据库的使用大概有两大部分,一是数据的计算与处理,像数据表、查询这些都是来完成数据处理工作的,他们会按照我们的需要完成数据的计算和处理,形成数据信息以供参考;二是用户界面(UI)的制作,这一部分虽然不是核心,但是也非常重要,。因为对于一般用户来讲,不会懂得怎样去建立查询等等这些工作,他们所需要的只是点点按钮就能得到必要的信息,所以,我们需要制作大量的窗体来引导用户进行数据库的操作,以得到他们所需的信息。所以对于一个好的数据库应用系统来讲,这两大部分缺一不可。
在建立窗体,引导用户使用的过程中,经常会遇到这样的问题:有时候用户按下某个命令按钮,当程序开始执行那个按钮所关联的程序时,由于涉及到大量的计算工作,所以电脑运行会变慢,在Access中会表现为屏幕没有任何反应,时间稍长,就会让人感觉是不是死机了?所以,在这种情况下,如果有提示框来告诉用户电脑此时在做什么会比较好,另外这样也可以感觉时间短些,因为没有任何变化的等待会让人感觉更加漫长!
要完成这个即时信息显示窗口,我们首先想到的就是在程序的某一部分加上一段代码,这段代码打开一个新的窗口,窗口中会有相关文字,如“程序正在运行,请稍等……”等等,代码也很简单,在Access中就是
……
DoCmd.OpenForm "wait"
Forms!Wait!lblwait.Caption = "程序正在运行,请稍等……"
……
其中,wait是窗体(Form)的名字,lblwait是窗体中的一个标签(Label)控件的名称,程序运行到省略号这里时,会打开wait窗口,然后把标签控件的名称改为“程序正在运行,请稍等……”。
可是当你真正运行这段程序代码时,会发现效果并不是你想象的那样,wait窗口确实出来了,但是上面只是一片白色区域,没有任何文字,最初你可能觉得是自己的电脑运行慢,显示不出来,但是即使你换到最快的电脑上来运行,结果还会是这样,岂不郁闷?!
这个时候,就轮到Repaint方法大显身手了,将上面的代码稍作修改,如下面这样:
……
DoCmd.OpenForm "wait"
Forms!Wait!lblwait.Caption = "程序正在运行,请稍等……"
Forms!Wait.Repaint
……
再运行一下,就可以看到窗口正常显示出来提示了。
之后,你可以在需要的地方都加上这段代码,把其中的文字换换,就可以在程序的运行过程当中实时提示用户程序在做什么了!
道理其实也很简单,就是在程序运行过程当中,不会实时的更新屏幕显示,这样会加快程序运行的速度,所以在设计到大量计算时,程序就不会有任何显示更新,像死机了一样,但是加入了Repaint方法就会强制更新屏幕显示,就会让我们动态看到程序运行状况了。

结帖率:37% (7/19)
沙发
发表于 2013-2-12 10:30:35 | 只看该作者   北京市北京市
全是沙发我的妈呀
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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