设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 37782|回复: 148
打印 上一主题 下一主题

[模块/函数] 【原创 / 源码】Access多条件格式扩展(Multi-FormatConditions Extension V2)发布

[复制链接]
跳转到指定楼层
1#
发表于 2005-9-3 19:54:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序名称:Multi-FormatConditions Extension V2

程序版本:V 2.0 Beta

程序作者:LucasLynn



程序介绍:





  Multi-FormatConditions Extension V2终于完成了Beta版,由于采用了全新的技术内核,因此将与V1有本质区别,全部代码重写。但并不意味着V2是V1的完全升级版本,因为所设计实现的目标不同,V2将不再支持V1的某些特性,但是V2基本完全实现了Access条件格式的全部功能。因此你可以将其视作两个不同的软件。两个版本将分别更新。可以说这样概括:V2功能更完善,V1更方便。如果你只是简单使用条件格式,推荐使用V1,如果在V1使用过程中对于V1与Access本身条件格式支持之间的差异感到不满的,可以考虑使用V2

  Multi-FormatConditions Extension V2.0实现原理为附加条件格式控件全程监控Criteria,当Criteria值发生更改时发送消息给多条件格式控件,通知其刷新,获得焦点事件由多条件格式控件自行定义。不再进行接管处理,其余条件格式使用FormatConditions(1)作为中转。Criteria求值放弃使用V1.0中的Dfirst(criteria,"USysCriteriaTranslator"),改回使用ControlSource=criteria。

  Multi-FormatConditions Extension V2.0设计目标为完全实现Access条件格式原有的功能,并通过使用更多内存资源,来实现更高的程序性能。由于V2使用了Win32 API来监视附加条件格式控件,因此V2不接管任何控件事件,不会影响用户本身的事件编程。



  Multi-FormatConditions Extension V2.0与V1.0的功能及性能对比如下:









 



< align=center>V1.0



< align=center>V2.0 Beta

<TR>

支持三个以上的条件格式



< align=center>



<;P align=center>

<TR>

支持附加条件格式多目标指派



<;P align=center>



<;P align=center>×

<TR>

条件所包含数据源更新时更新状态



<;P align=center>×



<;P align=center>

<TR>

附加条件格式支持的条件数



<;P align=center>3



<;P align=center>1

<TR>

性能



<;P align=center>低



<;P align=center>

<TR>

系统资源占用



<;P align=center>



<;P align=center>多



程序下载:(含多条件格式扩展、文档、示例)

游客,如果您要查看本帖隐藏内容请回复




游客,如果您要查看本帖隐藏内容请回复






[此贴子已经被作者于2005-11-3 9:00:16编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2005-9-3 20:50:00 | 只看该作者
  经过4天的连续开发,终于在昨天完成了V2的Beta版,因为采用了更复杂的内核,所以又花了整整一天测试兼容性和稳定性,经过几十次的Access非法关闭后,今天终于可以拿出一个相对稳定的版本来了。

  Beta版已经解决了在测试过程中遇到的所有问题,但是我也无法保证在其他人的电脑上是否和在我的电脑上运行地一样好,所以还是定为了Beta版,希望试用的朋友遇到什么问题,尽快向我反映,以便我尽快修正,谢谢。
3#
发表于 2005-9-3 23:55:00 | 只看该作者
学习中
4#
 楼主| 发表于 2005-9-4 03:16:00 | 只看该作者
更新了一下附件,优化了代码,提高了执行效率。



同时附件中添加了一个使用范例的MDB文件。

[此贴子已经被作者于2005-9-3 19:31:30编辑过]

5#
 楼主| 发表于 2005-9-4 04:07:00 | 只看该作者
通过使用这个扩展,我相信使用者应该会明白了一件事情:

为什么微软要限制条件格式的数量?

MFCE V2实现了Access条件格式原有的所有功能,但是作为代价的是,用户要为每个条件格式创建一个文本控件(事实上这个文本框本身就是这个条件格式的监视器),当条件格式很多了的时候程序的性能无疑会下降。V2的设计原理很大程度上是模仿Access本身的条件格式实现,虽然Access没有创建很多条件格式的监视文本框,但是他一样要监视所有这些条件格式,监视窗体上每个微小的变化导致的条件格式匹配的变更。这无疑是非常占用资源的功能。微软其实并不鼓励用户大量使用条件格式,只在实在是非常必要的情况下使用,微软通过限制数量,来暗示了我们,这个功能是把双刃剑,用户慎用!

MFCE V2突破了微软的限制,但是MFCE V2同样无法避免这把双刃剑,只是给用户多了一个选择,给了那些确定自己可以承担性能损失的用户另外一个选择,至少无论什么理由,微软无权替我们来做选择!

[此贴子已经被作者于2006-4-27 19:50:53编辑过]

6#
发表于 2005-9-4 05:45:00 | 只看该作者
LucasLynn

邮件已收到,多谢。

忘了根你说,我的OFFICE正是2000版的,不能马上打开,真是心痒,我明天会让朋友马上帮我转成2000版的。再次多谢。

Regards

7#
发表于 2005-9-4 18:58:00 | 只看该作者
LucasLynn简单测试了一下,提一下我的看法(只有意见,希望别介意)1。在单一窗体中测试成功。但有一小瑕疵,当光标放在多条件格式控件时,条件格式不起作用,只有光标离开后才起作用。2。在连续窗体中,只有当前记录的条件格式起作用。(这是替换条件格式的原理的局限,不知是否正确)
8#
 楼主| 发表于 2005-9-4 20:16:00 | 只看该作者
以下是引用CHENZHIRONG在2005-9-4 10:58:00的发言:

LucasLynn

简单测试了一下,提一下我的看法(只有意见,希望别介意)

1。在单一窗体中测试成功。但有一小瑕疵,当光标放在多条件格式控件时,条件格式不起作用,只有光标离开后才起作用。

2。在连续窗体中,只有当前记录的条件格式起作用。(这是替换条件格式的原理的局限,不知是否正确)

1、这个现象是正常的,Access本身的条件格式也是这样的设定,事实上条件格式中专门有一种“获得焦点”的条件格式来指定获得焦点状态下的控件格式。



2、这个问题我也没注意到,经过你提醒,我作了一下测试,确实存在这个问题,我正在着手解决。

非常感谢提供宝贵意见。

[此贴子已经被作者于2005-9-4 12:16:27编辑过]

9#
 楼主| 发表于 2005-9-4 20:27:00 | 只看该作者
预告:V2.0正式版将采用数据压缩技术,恢复V1中每个附加条件格式控件支持三个条件格式的功能。
10#
发表于 2005-9-4 20:34:00 | 只看该作者
在非绑定控件中,焦点没离开控件,值未保存,条件格式未起作用,这是正常的。但在绑定控件中,焦点即使没离开控件,控件的值已经保存,这时条件格式应该起作用,你试一下ACCESS的条件格式,是否如此。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-2 03:43 , Processed in 0.129158 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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