设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 表达式应用一:连续窗体高亮当前行

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2010-3-25 20:46:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Access中的连续窗体用条件格式可以达到高亮当前行的效果,实现方法不难,网上也有例子。
但众所周知条件格式的缺点是闪屏太厉害,估计大多数人都不敢用它实现此功能。
但不必灰心,办法还是有的,这里介绍一种简便易行的方法,效果比条件格式要好得多。

步骤:
1、建一连续窗体,窗体数据源必须有一个唯一值字段,这点是必须的,假设此字段名为ID。
2、在窗体页眉添加一个文本框,命名为当前ID,设可见性为假。
3、在主体节上添加用于显示数据的文本框,背景设为透明,调整大小间距以形成类似表格的效果。
4、在窗体的主体节上添加一个文本框,将它置于底层,命名为背景,设置此文本框的属性:
    左边距:0   (也可以自定)
    上边距:0   (也可以自定)
    宽度:与窗体相同  (也可以自定)
    高度:与主体相同  (也可以自定)
    特殊效果:平面
    背景样式:透明
    边框样式:透明
    前景色:15002588    (这个就是当前行背景的颜色,也可以自定)
    字体名称:Times New Roman
    字号:20    (可视节的高度而定)
    控件来源:=IIf([ID]=[当前ID],"██████████████████████████████████████████","")    (其中字符"█"的个数可以根据窗体宽度自定)
    可用:否
    是否锁定:是
5、在窗体的成为当前事件过程添加代码:
    Me.当前ID = Me.ID

通过以上步骤,其中只须一句代码,就大功靠成了。

至此,可以看出,这个方法的原理就是:
    通过IIF表达式作为控件源决定文本框显示的文本,如果在当前行则为多个字符"█",由于文本框的字体用Times New Roman,这些字符就可填满文本框,这样文本框的前景色就好象是主体的背景色,如果非当前行则为空字符,这样就可显示主体本来的颜色。

如不清楚可看附件的例子,里面还有用相同方法做的当前行画框和隔行变色的例子。

本帖子中包含更多资源

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

x

评分

参与人数 1经验 +10 收起 理由
+ 10 挺有用的。

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-3-25 20:50:51 | 只看该作者
本帖最后由 goto2008 于 2010-3-25 20:54 编辑

抢沙发。。。。。先谢谢大哥分享。
大哥,我看了你的隔行变色。。。删了其中一行,隔行就不变色了。。。

这个问题也是困扰我很久了。。好像从来没看过比较好的解决方案。

点击这里给我发消息

3#
 楼主| 发表于 2010-3-25 20:55:02 | 只看该作者
抢沙发。。。。。先谢谢大哥分享。
大哥,我看了你的隔行变色。。。要是删了其中一行,隔行要是能再变色就更好了
goto2008 发表于 2010-3-25 20:50

最好还是用我另外一个用图片做的隔行变色方法吧
4#
发表于 2010-3-25 21:47:42 | 只看该作者
see
5#
发表于 2010-3-25 22:22:57 | 只看该作者
用图片做的隔行变色方法好
6#
发表于 2010-3-25 22:25:48 | 只看该作者
这个方法也不错。
7#
发表于 2010-3-25 22:47:34 | 只看该作者
最好的方法就是用2007版的Access,哈哈
8#
发表于 2010-3-26 08:27:15 | 只看该作者
做得不错,收藏.
~说真得,ACCESS有很多小东东让人难受.无法很好的实现.
9#
发表于 2010-3-26 11:22:28 | 只看该作者
学习了,收藏先
10#
发表于 2010-3-29 09:42:07 | 只看该作者
谢谢分亨,学习精品!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-22 09:02 , Processed in 0.117264 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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