设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

ACCESS中扩展条件格式的功能使用技巧

2002-6-10 09:46| 发布者: admin| 查看: 1058| 评论: 18|原作者: zhuyiwen|来自: www.office-cn.net

摘要: Frank C. Rice著 朱亦文译 Microsoft 公司 2002年3月 应用于: Microsoft® Access 2000 及以后版本 摘要: 在 Microsoft Access 中使用用户接口及通过编程创建条件格式。探讨在不同环境下扩展条件格 ...
Frank C. Rice著 朱亦文译
Microsoft 公司

2002年3月

应用于: Microsoft® Access 2000 及以后版本

摘要: 在 Microsoft Access 中使用用户接口及通过编程创建条件格式。探讨在不同环境下扩展条件格式的编程方法。

简介
自 Microsoft® Access 2000 开始,能够在 combo box 和 text box 控件上应用条件格式。这将允许按指定的条件改变包括在这些控件中的数据的原始显示特性,如背景色和加粗。

有两个方法创建和应用条件格式。其一,可以先选择控件,然后在[ 格式 ]菜单上点击[ 条件格式 ]。其二,使用 Microsoft Visual Basic® for Applications (VBA),也能创建使用条件格式的[ FormatCondition ]对象实例并把它们加入到[ FormatCondition ]对象集合中。

每个做了条件格式的控件最少有两个格式--一个默认格式和一个当指定条件为  True 时的指定格式。一个控件可以有多至三个的指定格式条件。这三个条件的限制可由 VBA 代码编程在不同的环境下确定条件的值来克服。本文第一个示例将通过用户界面来创建条件格式。我们将会看到在运行时使用 VBA 代码来创建条件格式改变格式条件这种更好的方法。

通过用户界面创建条件格式
在[ 格式 ]菜单上的[ 条件格式 ]菜单提供一个简单的方法创建和应用多至三个条件格式。当点击[ 格式 ]菜单上的[ 条件格式 ],将出现[ 条件格式 ]对话框,如图:

图 1. [ 条件格式 ]对话框

[ 默认格式 Default Formatting ]区域显示控件在没有使用任何指定条件的情况下的格式。[ 条件 1 Condition 1 ]区域允许添加指定的条件格式。当要添加条件格式时,点击[ 添加 Add ]按钮,对话框将最多扩展至三个条件格式。

[ 条件格式 ]对话框提供六个格式控件来帮助指定每一个条件格式。从控件行的最左侧开始,有加粗、斜体、下划线、背景色以及前景色,最后一个是控件控件的启用状态(允许和禁止)。在最左边的下拉列表框允许选择[字段值为]、[表达式为]或者[字段有焦点]。也能通常操作符如:相等(=)、大于(>)、位于区间(Between)及更多。如果在一个计算字段上应用条件格式,必须使用标准的 VBA 操作符书写表达式。

如果格式化条件要求一个表达式,可以使用表达式生成器来帮你建立表达式。

图 2 举例说明在一个窗体中使用条件格式格式化与之相关的 Special Customer 文本框。

图 2. 显示通过用户接界面创建的格式化了的窗体

基于  Total 文本框的值作为格式化条件改变背景色。在该情形中,如果  Total 文本框的计算值介于 300 到 399 之间,文本框显示为绿色。图3 举例说明在[ 条件格式 ]对话框中定义条件。

图 3. 基于 Total 文本框值定置的格式化对话框

条件格式编程
当能够非常熟练的使用[ 条件格式 ]对话框创建条件格式后,在这个时期,可能想使用 VBA 代码了。通过使用代码创建条件格式,能管理条件格式,用户就会发现可以超过允许的三个条件格式。也可能想在多个应用程序或多个窗体中使用条件格式。在代码中产生条件,非常易于在不同的窗体中使用复制粘贴代码应用同样的格式。

窗体上的每个组合框和文本框有一个包含[FormatCondition]对象的[FormatConditions]对象集合。该[FormatConditions]对象集合有[Add](添加)和[Delete](删除)方法。[FormatCondition]对象有[Modify](修改)方法。[FormatCondition]对象没有名称属性,因此通常通过其索引值进行引用。另外,[FormatCondition]对象拥有诸如[Type](类型)属性的属性设置,允许应用基于字段值或表达式的条件。有关于[FormatConditions]对象集合和[FormatCondition]对象的更详细的信息,请参看 Micosoft 开发者网络的帮助。

来看看另一个定置窗体及在其背后的代码,是如何通过编程来创建条件格式及如何提供附加格式选择。图 4 显示一个文本框中根据靶号确定格式的窗体。

图 4. 基于用户选项应用条件格式的窗体

在这个窗体中,用户在 Target 文本框中键入数字,并在 Choose an option 区域选择一选项(Option)。用户然后在 Result 文本框中键入数字并点击[Change]按钮。对于前面三选项,Result 文本框的值与 Target 文本框的值进行比较,并根据两个值是否是少于、等于、或大于另一个,格式化 Result 文本框的值。对于第四个选项,当点击[Change]按钮后,则按当前日期的星期与字符串 Sat 和 Sun 进行比较来确定 Result 文本框如何格式化。

下面是 Change 命令按钮的 Click 事件处理程序:

Private Sub cmdChange_Click()

    ' 这个子程序演示使用 FormatCondition 对象来添加一个文本框的格式。
    ' 也例举了通过 FormatConditions 集合扩展三个条
发表评论

最新评论

引用 ui 2002-6-10 09:52
哇。。哇
引用 tmtony 2002-6-10 17:33
老朱,你一出手即是精品啊:)
引用 zhuyiwen 2002-6-11 03:38
只是会抄而已。[em26]
引用 笨小漆 2002-6-14 07:29
我要购买转载许可证,OK?

或者以我的通用界面源代码交换。
引用 zhuyiwen 2002-6-14 07:59
以下是引用笨小漆在2002-6-13 23:29:29的发言:
我要购买转载许可证,OK?

或者以我的通用界面源代码交换。


联盟论坛允许无条件转载,但麻烦说明出处及“未经许可,请勿转载”的字样。
引用 HG 2002-6-14 18:30
寫的好!
如果站長的
ACCESS_hotow ,ACCESS_ADP(access doc project)專區建立趣來了,
我想是不是要中轉稱進去。
-----------------------------------------
from:hg       access_hotow,access_adp提議者。
引用 笨小漆 2002-6-15 01:35
谢,老朱同志:)
引用 zhengjialon 2002-8-29 16:57
佩服!
引用 zhengjialon 2002-10-11 02:22
http://www.accxp.com/club/topic.cgi?forum=7&topic=410&show=75
引用 xir 2003-9-24 21:08
高手就是高手,出手自然不凡!
引用 94zpx 2003-10-27 04:17
坚决支持老哥![em05][em05][em05][em05][em05][em05][em05]
引用 wangyupc 2003-11-3 07:06
好文章。
引用 cxhgc 2003-11-10 23:15
好!
引用 fredlin 2003-12-19 19:50
我只里有一个特殊一点的条件格式需求。大家可否帮我看看?
 用了vba的方法添加条件格式。因为按我的思路会有多过三个条件格式。
谢谢了!
引用 secowu 2005-8-23 16:46
比较深奥看不懂主要是那个例子太复杂本身技术与例子的结合有点晦涩以前看过了所以,才想到,自己弄个例子,这样比较符合中国的国情谢谢hi-wzj http://www.office-cn.net/forum.php?mod=viewthread&tid=13638&extra=&page=2#153940
引用 ywqsb 2005-9-13 21:40
好!顶!
引用 leijiqiang 2009-10-30 09:41
学习学习
引用 chenyingfengsx 2009-11-6 11:53
高高

查看全部评论(18)

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

GMT+8, 2024-4-29 20:08 , Processed in 0.162730 second(s), 23 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部