设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 9195|回复: 18
打印 上一主题 下一主题

[窗体] 在ACCESS中扩展条件格式的功能

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2002-6-10 09:46:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
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 集合扩展三个条

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖1 订阅订阅
19#
发表于 2009-11-6 11:53:25 | 只看该作者
高高
18#
发表于 2009-10-30 09:41:55 | 只看该作者
学习学习
17#
发表于 2005-9-13 21:40:00 | 只看该作者
好!顶!
16#
发表于 2005-8-23 16:46:00 | 只看该作者
比较深奥看不懂主要是那个例子太复杂本身技术与例子的结合有点晦涩以前看过了所以,才想到,自己弄个例子,这样比较符合中国的国情谢谢hi-wzj http://www.office-cn.net/forum.php?mod=viewthread&tid=13638&extra=&page=2#153940
15#
发表于 2003-12-19 19:50:00 | 只看该作者

我只里有一个特殊一点的条件格式需求。大家可否帮我看看?

我只里有一个特殊一点的条件格式需求。大家可否帮我看看?
 用了vba的方法添加条件格式。因为按我的思路会有多过三个条件格式。
谢谢了!
14#
发表于 2003-11-10 23:15:00 | 只看该作者
好!
13#
发表于 2003-11-3 07:06:00 | 只看该作者
好文章。
12#
发表于 2003-10-27 04:17:00 | 只看该作者
坚决支持老哥![em05][em05][em05][em05][em05][em05][em05]
11#
发表于 2003-9-24 21:08:00 | 只看该作者
高手就是高手,出手自然不凡!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-12 08:54 , Processed in 0.090862 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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